#include "types.h"
#include "defs.h"
+#include "memlayout.h"
#include "traps.h"
#include "mmu.h"
#include "x86.h"
// Start additional processor running bootstrap code at addr.
// See Appendix B of MultiProcessor Specification.
void
+
lapicstartap(uchar apicid, uint addr)
{
int i;
// the AP startup code prior to the [universal startup algorithm]."
outb(IO_RTC, 0xF); // offset 0xF is shutdown code
outb(IO_RTC+1, 0x0A);
- wrv = (ushort*)(0x40<<4 | 0x67); // Warm reset vector
+ wrv = (ushort*)P2V((0x40<<4 | 0x67)); // Warm reset vector
wrv[0] = 0;
wrv[1] = addr >> 4;