bda[0xE] is a 16-bit segment number,

not a real address.  So shift 4.

Reported by Silas.

Jim McKie says this code only matters
on ancient EISA MP systems.
This commit is contained in:
rsc 2007-11-28 20:17:04 +00:00
parent fd6b029401
commit a6c4711a38

2
mp.c
View file

@ -59,7 +59,7 @@ mp_search(void)
struct mp *mp; struct mp *mp;
bda = (uchar*)0x400; bda = (uchar*)0x400;
if((p = (bda[0x0F]<<8)|bda[0x0E])){ if((p = ((bda[0x0F]<<8)|bda[0x0E]) << 4)){
if((mp = mp_search1((uchar*)p, 1024))) if((mp = mp_search1((uchar*)p, 1024)))
return mp; return mp;
} else { } else {