#include "debug.h"
#endif
+#include "loader.h"
+
#define MASK(SHIFT, CNT) (((1ul << (CNT)) - 1) << (SHIFT))
/* Page offset (bits 0:11). */
return (void *) ((uintptr_t) va & ~PGMASK);
}
-#define PHYS_BASE ((void *) 0xc0000000) /* Physical memory mapped here. */
-#define KERN_BASE ((void *) 0xc0100000) /* Kernel loaded here. */
+#define PHYS_BASE ((void *) LOADER_PHYS_BASE)
/* Returns kernel virtual address at which physical address PADDR
is mapped. */
#define SEL_NULL 0x00 /* Null selector. */
#define SEL_KCSEG 0x08 /* Kernel code selector. */
#define SEL_KDSEG 0x10 /* Kernel data selector. */
-#define SEL_UCSEG 0x18 /* Kernel code selector. */
-#define SEL_UDSEG 0x20 /* Kernel data selector. */
+#define SEL_UCSEG 0x1B /* User code selector. */
+#define SEL_UDSEG 0x23 /* User data selector. */
#define SEL_TSS 0x28 /* Task-state segment. */
#define SEL_CNT 6 /* Number of segments. */