1 / 30

Boot Engineering Extension Record (B.E.E.R.)

Boot Engineering Extension Record (B.E.E.R.). By Curtis E. Stevens. Agenda. Introduction to Booting Why BEER? BEER and Booting BEER and Runtime Services BEER and SETUP Summary. Introduction to Booting. System Initialization. Enable ISA and PCI devices Detect ATAPI/ATAPI devices

corine
Télécharger la présentation

Boot Engineering Extension Record (B.E.E.R.)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Boot Engineering Extension Record(B.E.E.R.) By Curtis E. Stevens

  2. Agenda • Introduction to Booting • Why BEER? • BEER and Booting • BEER and Runtime Services • BEER and SETUP • Summary

  3. Introduction to Booting

  4. System Initialization • Enable ISA and PCI devices • Detect ATAPI/ATAPI devices • Phoenix proprietary • Uses Floating Bus Test, Device Diagnostics, and sometimes reads/writes cylinder registers when device remains busy too long • Wait up to 31 seconds for ~BSY • Save ATAPI signature... • Wait up to 31 seconds for RDY

  5. System Initialization • Issue ID Device or ATAPI ID Device as necessary (uses much shorter timeout) • Continue the boot process • Configure the devices and interfaces for their operational modes • Includes PIO, DMA, UDMA, etc. • Continue the boot process • Execute INT 19 initial boot load

  6. BIOS Booting • Real Mode • INT 13 based • Load sector at CHS=0,0,1 or LBA 0 to system memory 7C0h:0 • Clear registers to 0 • Set DL = boot drive (00h or 80h) • Jump to 7C0h:0

  7. MBR Booting • Code in MBR is written by various OS manufacturers • Can be by any OS installed on the system • Good virus target because there is actually no owner • Scans the partition table looking for an active partition • Loads the first sector of the partition into memory and jumps to it • Generally at 7C0h:0 as well.

  8. Process Drawbacks • No MBR Owner • Lots of different programs manipulating the same data structure • Partition types are out of control and conflicting • System information is assumed • Code is INT 13 based • If INT 13 changes data structures become invalid • No good way to detect error conditions

  9. Enter SETMAX • Custom uses for this space are already happening • Now there are multiple applications looking to use this area • New area of expansion has no defined owner • New area of expansion needs organization!! • Big Big mess 1-2 years from now...

  10. Why BEER?

  11. BEER • Provides BIOS readable information regarding drive formatting • Resides in protected area • Some degree of protection from viruses • Provides centralized organization as systems move towards supporting multiple operating environments • Allows for the authentication of data before it is placed in protected areas

  12. BIOS readable information • INT 13 parameters and ID Device parameters used to make calculations • BIOS useable vs reported sectors/drive • Last INT 13 device number assigned to drive • Device name • Can be manufacturer ID • Can also be other things

  13. More BIOS Readable Information • Self describing service areas • Eliminates the need for interpretive code • Allows the user to pick and choose from something that makes sense • Allows several uses for the “SETMAX” area including • Diagnostics/Recovery • Suspend to Disk • Other protected BIOS level data storage

  14. BEER Sector BEER Formatted Disk Normal User Space Managed SETMAX Space

  15. BEER Sector SETMAX Space Managed Space Diagnostics BIOS Utilities Suspend Information

  16. BEER and Booting

  17. Booting Assumptions • No effect on non-BEER drives • Normal booting process continues to function • BEER booting enabled when a BEER sector is present • BEER capabilities are enabled by user intervention • Keypress during post • Integration with boot menu feature

  18. BIOS Booting Changes • If BEER is available and there are no user boot requests • Load parameters from the Service Area with the last boot flag set • Issue SETMAX to the end of the Service Area • Load the first sector of the Service Area to 7C0h:0 • Jump to 7C0h:0

  19. More Booting Changes • If BEER is available and there ARE user boot requests • Load parameters from the Service Area selected by the user or BIOS • Issue SETMAX to the end of the Service Area • Load the first sector of the Service Area to 7C0h:0 • Jump to 7C0h:0

  20. Boot Selection • Can be OEM platform specific • For instance, systems can have a watchdog function, if windows fails to boot the system automatically boots to diagnostics the next time. • Can be general at the same time • POST or SETUP option for selecting the next service to boot

  21. BEER and Runtime Services

  22. Runtime Services • Only INT 13 changes • Fn 8/48 • Parameters are generated from the Directory of Services (DOS) • Only the current service area is reported • All media access functions • Add the Service Area Start to the media address • SETMAX limits the high end of the media access

  23. Advantages of this method • No ATA protocol changes required • Works with drives shipping today • BIOS changes are minimal • Supports all DOS based applications as written • Limits exposure to viruses

  24. Disadvantages Of This Method • Applications that provide proprietary disk interfaces will fail • Possible drive corruption • Code overhead to the BIOS • New technology • Need to protect SETMAX Command

  25. BEER and SETUP

  26. What’s Necessary • A method for selecting the alternate boot capability. An entry like “Boot to Diagnostics” would probably suffice • Could easily be made to perform the function for one boot only • If the system is not field updateable, the drive can be preconfigured and no other SETUP changes are necessary

  27. Field UpdatesScenario #1 • Need a drive maintenance mode • Prepares new drives by creating the BEER sector • Updates existing drives by adding entries to the directory of services • Can transfer data from other devices into the directory of services • May authenticate the data

  28. Field UpdatesScenario #2 • Need a drive maintenance mode • Prepares new drives be creating the BEER sector • Updates existing drives by adding entries to the directory of services • Enables a service area • Boot from floppy or other device and the BIOS presents the service area as an empty device • Use normal DOS utilities to format the space

  29. In Summary • BEER is a management data structure controlled by the BIOS for allowing several Operating Systems to co-exist on a disk drive, but only 1 OS to execute • There is a lot of room for product differentiation • There is a lot of room to expand this capability

  30. If system manufacturers are interested in the concept presented here Interaction of INT 13 and INT 19 with BEER can be added to the specification Other capabilities can be added to BEER

More Related