home *** CD-ROM | disk | FTP | other *** search
/ Amiga GigaPD 3 / Amiga_GigaPD_v3_3of3.iso / netbsd / docs / mailinglist-archive / 1993-10 / text0160.txt < prev    next >
Encoding:
Internet Message Format  |  1993-06-25  |  1.5 KB

  1. From: osymh@gemini.oscs.montana.edu (Michael L. Hitch)
  2.  
  3. >Since a block number of 0xFFFFFFFF is out of range
  4. >for any partition, the read of that block will fail and terminate the
  5. >partition block processing - so the current code works like it's supposed to.
  6.  
  7. Generally, the RDB can be put anywhere within the RDB_LIMIT, which I believe is  
  8. 25 blocks (off of the top of my head).  Someone must have gotten confused  
  9. between NULL and HB_NULL, which is the -1L as you have pointed out.  You can  
  10. have a partition at block 0, and it would be perfectly legal to do so.
  11.  
  12. >The second bug is in computing the end of the partition.  The UPPERCYL field
  13. >in the disk environment is the cylinder number of the last cylinder of the
  14. >parition.
  15.  
  16. Since this is read-only, that doesn't seem to be so traumatic.  There is  
  17. another set of cases where older partition programs didn't set the uppercyl  
  18. field correctly, as in.. either being 0, or being -1, and a seperate case of  
  19. loaders sticking stuff up on the RDB, like device drivers which autoboot ROMs  
  20. load off.  In this case, there is very little need to parse the RDB all the way  
  21. out to the end of the uppercyl.  So IMHO, the best way is to ignore uppercyl,  
  22. and just read a block at a time, following the PART thread from the RDB.  I  
  23. came to this conclusion after thinking that it would be fine just do an  
  24. AllocMem() on the uppercyl-lowercyl values, then doing one read for the whole  
  25. RDB.  We want the BSD boot to be as quick as possible ;-).
  26.  
  27.  
  28.  
  29.  
  30.