vxBoot/src/builtin/hw.c

44 lines
885 B
C

#include "vxBoot/builtin.h"
#include "vxBoot/terminal.h"
#include "vxBoot/hardware.h"
#include <string.h>
/* hw_main() : hw builtin entry */
int hw_main(int argc, char **argv)
{
struct hwinfo hwinfo;
//TODO handle args
(void)argc;
(void)argv;
#ifdef FXCG50
if (argc >= 1) {
if (strcmp(argv[1], "patch") == 0) {
terminal_write("try to invalidate the NULL page...");
hardware_utlb_patch();
terminal_write("OK\n");
return (0);
}
terminal_write("invalide argument\n");
return (84);
}
#endif
hardware_get_info(&hwinfo);
terminal_write(
"- user RAM physical addr: %p\n"
"- kernel RAM physical addr: %p\n"
"- RAM physical addr: %p\n"
"- RAM size: %d\n"
"- Kernel RAM space: %d o\n",
hwinfo.ram.physical.user_addr,
hwinfo.ram.physical.kernel_addr,
hwinfo.ram.physical.origin_addr,
hwinfo.ram.size,
hwinfo.ram.available
);
return (0);
}