# HG changeset patch # User Pascal Bellard # Date 1484909482 -3600 # Node ID cde5f1326cbc21210b68380287e3594416647f61 # Parent 76087975885fa6274ffe795432f3ebd202e6696c linld: not above topseg() diff -r 76087975885f -r cde5f1326cbc linld/stuff/src/HIMEM.CPP --- a/linld/stuff/src/HIMEM.CPP Fri Jan 20 09:55:25 2017 +0100 +++ b/linld/stuff/src/HIMEM.CPP Fri Jan 20 11:51:22 2017 +0100 @@ -30,8 +30,8 @@ #endif } struct image_himem *m = ± + vm2rm(); if(((u16 *)&m->fallback)[1] >= 0x10) m->fallback = _1m; // >= _1m ? - vm2rm(); if(m->bufv==0) { // Move kernel memcpy_image(m); diff -r 76087975885f -r cde5f1326cbc linld/stuff/src/JUMP.ASM --- a/linld/stuff/src/JUMP.ASM Fri Jan 20 09:55:25 2017 +0100 +++ b/linld/stuff/src/JUMP.ASM Fri Jan 20 11:51:22 2017 +0100 @@ -37,6 +37,7 @@ extrn _topseg:near call near _topseg mov es,ax + xchg ax,bx else push 9000h pop es @@ -66,6 +67,13 @@ movsb cmp al,cl ; load high ? jne isbzimage + ifdef NO386 + add bh,9 + push bx ; topseg()+0x0900 + else + push 9900h ; 4096 bytes for cmdline + ;push 9820h ; 512 bytes for cmdline + endif ; finish loading extrn @last_ditch$qv:near push cs @@ -73,13 +81,6 @@ mov ax,[word _pm+2+2] ; get pm->fallback high word ; self move ;cld - ifdef NO386 - mov cx,9900h - push cx - else - push 9900h ; 4096 bytes for cmdline - ;push 9820h ; 512 bytes for cmdline - endif pop es ; min 2048 bytes for stack xor si,si ; A000 -9000 -0800(>movedend) xor di,di ; set ZF