#include "multiboot.h"
#include "io.h"
#include "log.h"

#define TO_VIRT(val, t) val = (t)((size_t)val + 0xc0000000u)

// old should be a VIRTUAL address
struct multiboot_info make_multiboot_physical(struct multiboot_info *old)
{
	struct multiboot_info mb;
	memcpy(&mb, old, sizeof(mb));

	// Make modules physical
	TO_VIRT(mb.mods_addr, uint);
	TO_VIRT(mb.cmdline, char);

	kprintf("mb.mods_addr = %d, 0x%x\n", mb.mods_addr, mb.mods_addr);
	kassert((size_t)mb.mods_addr >= 0xc0000000, "mb.mods_addr PHYSICAL");
	for (int i = 0; i < mb.mods_count + 1; i++)
	{
		TO_VIRT(*(uint *)(mb.mods_addr+i), uint);
	}

	return mb;
}
