One more low address

This commit is contained in:
Frans Kaashoek 2011-08-09 23:22:48 -04:00
parent 8a9933a200
commit 673b739d31

View file

@ -3,6 +3,7 @@
#include "types.h" #include "types.h"
#include "defs.h" #include "defs.h"
#include "memlayout.h"
#include "traps.h" #include "traps.h"
#include "mmu.h" #include "mmu.h"
#include "x86.h" #include "x86.h"
@ -135,6 +136,7 @@ microdelay(int us)
// Start additional processor running bootstrap code at addr. // Start additional processor running bootstrap code at addr.
// See Appendix B of MultiProcessor Specification. // See Appendix B of MultiProcessor Specification.
void void
lapicstartap(uchar apicid, uint addr) lapicstartap(uchar apicid, uint addr)
{ {
int i; int i;
@ -145,7 +147,7 @@ lapicstartap(uchar apicid, uint addr)
// the AP startup code prior to the [universal startup algorithm]." // the AP startup code prior to the [universal startup algorithm]."
outb(IO_RTC, 0xF); // offset 0xF is shutdown code outb(IO_RTC, 0xF); // offset 0xF is shutdown code
outb(IO_RTC+1, 0x0A); 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[0] = 0;
wrv[1] = addr >> 4; wrv[1] = addr >> 4;