summaryrefslogtreecommitdiff
path: root/mp.c
diff options
context:
space:
mode:
Diffstat (limited to 'mp.c')
-rw-r--r--mp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mp.c b/mp.c
index 79bb0ad..e36e45c 100644
--- a/mp.c
+++ b/mp.c
@@ -28,7 +28,7 @@ sum(uchar *addr, int len)
// Look for an MP structure in the len bytes at addr.
static struct mp*
-mpsearch1(uint a, int len)
+mpsearch1(uint64 a, int len)
{
uchar *e, *p, *addr;
@@ -77,7 +77,7 @@ mpconfig(struct mp **pmp)
if((mp = mpsearch()) == 0 || mp->physaddr == 0)
return 0;
- conf = (struct mpconf*) P2V((uint) mp->physaddr);
+ conf = (struct mpconf*) P2V((uint64) mp->physaddr);
if(memcmp(conf, "PCMP", 4) != 0)
return 0;
if(conf->version != 1 && conf->version != 4)
@@ -101,7 +101,7 @@ mpinit(void)
if((conf = mpconfig(&mp)) == 0)
panic("Expect to run on an SMP");
ismp = 1;
- lapic = (uint*)conf->lapicaddr;
+ lapic = P2V((uint64)conf->lapicaddr_p);
for(p=(uchar*)(conf+1), e=(uchar*)conf+conf->length; p<e; ){
switch(*p){
case MPPROC: