git://git.zytor.com/users/genec/syslinux.git Branch core-diskstart-boot-for-hpa. I found that INT 13h AH 08h in BOCHS used ES, DI, at least when using a partitionless HDD, causing "Boot error" from the magic check as it was loaded to the wrong location. HPA suggested wrapping INT 13h with the push/pop for ES's safety. This then lead to checking over for all int 13h calls in diskstart.inc to try and use xint13 and no net increase in binary code size. Then, the Sect1Ptr values were made constants by reference and the boot sector code was split into a new file (so it can be reused by debugging/diagnostic images; Yes, I'm already using it). -- -Gene
Gene Cumm <gene.cumm at gmail.com> writes:> git://git.zytor.com/users/genec/syslinux.git > > the Sect1Ptr values were made constants by referenceHi Gene, I think you forgot to use Sect1Ptr1_VAL (and used Sect1Ptr0_VAL again by mistake): @@ -260,9 +263,9 @@ eddcheck: ; with parsing the superblock and root directory; it doesn't fit ; together with EBIOS support, unfortunately. ; - mov eax,strict dword 0xdeadbeef + mov eax,strict dword Sect1Ptr0_VAL ; 0xdeadbeef Sect1Ptr0 equ $-4 - mov edx,strict dword 0xfeedface + mov edx,strict dword Sect1Ptr0_VAL ; 0xfeedface Sect1Ptr1 equ $-4 mov bx,ldlinux_sys ; Where to load it call getonesec -- Cheers, Feri.
On Tue, Dec 21, 2010 at 05:59, Ferenc Wagner <wferi at niif.hu> wrote:> Gene Cumm <gene.cumm at gmail.com> writes: > >> git://git.zytor.com/users/genec/syslinux.git >> >> the Sect1Ptr values were made constants by reference > > Hi Gene, > > I think you forgot to use Sect1Ptr1_VAL (and used Sect1Ptr0_VAL again by > mistake):Yes. Thank you. I thought I had fixed that before I made the commit but apparently not. -- -Gene
Possibly Parallel Threads
- Installing syslinux on a purely virtual disk
- [BUG] boot failure since syslinux-3.00
- diskstart.inc: PartInfo sub-constants seen as local labels
- [PATCH][git-pull] core/diskstart.inc: Fix DS in verify_checksum
- [elflink] diskstart.inc:420: error: Sector 1 overflow by 5 bytes