Re: boot code on 386

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Christophe Lucas wrote:
Koala GNU (koala.gnu@tiscalinet.it) wrote:
  
Hi all,

I am looking at the boot code in bootsect.S (2.4)and I have some doubt. 
I tried to search the answers to my questions on marc.theaimsgroup.com 
and on google bu I haven't found them.

1) In the bootsect code the first thing that is done is to copy the boot 
sector to 0x90000 and move the program count to 0x9000, go.
Why it is necessary move the code there? is It not possible continue the 
process from 0x7C00?
    

As said in code : "High doesn't hurt.  Low does."
=> This is done to preserve the firmware data areas in low memory.
(I copy it from : http://www.moses.uklinux.net/patches/lki-1.html#ss1.4 )
I think this sentence is referred to the value 36 put in the disk parameter table.
  
2) Another step is to move the parameters table from 0x78:0 to 
0x9000:0x4000-12. WHat are
the info contained in this table? 
    

The disk parameter table for the first

  
Can you send me a link to a site that 
specify these info?
    

http://www.moses.uklinux.net/patches/lki.html
Excuse me. I have already read this document but it seems does not contain the format of the disk parameter table.

  
Withouth these info I am not able to understand these three line of code

      movb    $36, 0x4(%di)           # patch sector count
      movw    %di, %fs:(%bx)
      movw    %es, %fs:2(%bx)

I know that in 2.6 the boot from floppy using native code is not 
supported anymore, but I am still interested on this stuff.

Thanks in advance for your help
    

Other correct me, if I am make mistakes. I am a newbie, and can and make
mistakes ;-)
  


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux