void c_start(unsigned int magic, struct mb_info *mbinfo)
{
struct mod_info *mods = mbinfo->mods;
void c_start(unsigned int magic, struct mb_info *mbinfo)
{
struct mod_info *mods = mbinfo->mods;
if (magic != MULTIBOOT_LOADER_MAGIC)
panic("Bootloader was not multiboot compliant; cannot continue.");
for (i = 0; i < mbinfo->mod_cnt; i++)
{
if (magic != MULTIBOOT_LOADER_MAGIC)
panic("Bootloader was not multiboot compliant; cannot continue.");
for (i = 0; i < mbinfo->mod_cnt; i++)
{
- puts("Module found:\n");
- puts(" Start: "); puthex((unsigned long) mods[i].mod_start); puts("\n");
- puts(" Size: "); puthex((unsigned long)mods[i].mod_end - (unsigned long)mods[i].mod_start); puts("\n");
- puts(" Name: "); puts(mods[i].mod_string); puts("\n");
+ outputf("Module found:");
+ outputf(" Start: %08x", (unsigned long) mods[i].mod_start);
+ outputf(" Size: %08x", (unsigned long)mods[i].mod_end - (unsigned long)mods[i].mod_start);
+ outputf(" Name: %s", mods[i].mod_string);
-
- puts("Current USB state is: "); puthex(pci_read16(0, 31, 2, 0xC0)); puts(" "); puthex(pci_read16(0, 31, 4, 0xC0)); puts("\n");
- puts("Current SMI state is: "); puthex(inl(0x830)); puts("\n");
- puts("Current SMRAMC state is: "); puthex(pci_read8(0, 0, 0, 0x70)); puts("\n");
+ outputf("Current SMRAMC state is: %02x", pci_read8(0, 0, 0, 0x70));
+ outputf("Current USB state is: %04x %04x", pci_read16(0, 31, 2, 0xC0), pci_read16(0, 31, 4, 0xC0));
+ outputf("Current SMI state is: %08x", inl(0x830));
pci_write16(0, 31, 2, 0xC0, 0);
pci_write16(0, 31, 4, 0xC0, pci_read16(0, 31, 4, 0xC0));
pci_write16(0, 31, 4, 0xC0, 0);
pci_write16(0, 31, 2, 0xC0, 0);
pci_write16(0, 31, 4, 0xC0, pci_read16(0, 31, 4, 0xC0));
pci_write16(0, 31, 4, 0xC0, 0);