summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2011-08-09 23:22:48 -0400
committerFrans Kaashoek <[email protected]>2011-08-09 23:22:48 -0400
commit673b739d314b77532f0c60d0eaed4b518b912694 (patch)
tree6d4e8848d87afd7859728c16959e1aac58f6b81c
parent8a9933a20031bcdc34f360d23a29c87f8335fd12 (diff)
downloadxv6-labs-673b739d314b77532f0c60d0eaed4b518b912694.tar.gz
xv6-labs-673b739d314b77532f0c60d0eaed4b518b912694.tar.bz2
xv6-labs-673b739d314b77532f0c60d0eaed4b518b912694.zip
One more low address
-rw-r--r--lapic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lapic.c b/lapic.c
index e232abc..5a758be 100644
--- a/lapic.c
+++ b/lapic.c
@@ -3,6 +3,7 @@
#include "types.h"
#include "defs.h"
+#include "memlayout.h"
#include "traps.h"
#include "mmu.h"
#include "x86.h"
@@ -135,6 +136,7 @@ microdelay(int us)
// Start additional processor running bootstrap code at addr.
// See Appendix B of MultiProcessor Specification.
void
+
lapicstartap(uchar apicid, uint addr)
{
int i;
@@ -145,7 +147,7 @@ lapicstartap(uchar apicid, uint addr)
// 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;