June 23, 2010

T13/2132-D Revision 3

9)set the IA-32 registers according to the hybrid MBR boot code hand over procedure (see A.4) and jump to 7C00h.

NOTE 4 — In contrast, legacy MBR boot code searches the MBR Partition Records for a partition with the Boot Indicator field set to 80h, then loads the VBR based on the Starting LBA field and passes the Size In LBA field to the VBR.

A.4 Hybrid MBR boot code endeavor procedure

Hybrid MBR boot code fills in the IA-32 registers according to table A.2 before jumping to 7C00h.

Table A.2 — Hybrid MBR endeavor IA-32 register values

Register

Description

Differences from legacy MBR hand over

DL

Disk number

No change

 

 

 

ES:DI

Pointer to $PnP

No change

 

 

 

EAX

54504721h (i.e., "!GPT"). Indicates that the hybrid

New

 

MBR hand over structure is being passed with

 

 

DS:SI rather than the legacy MBR Partition Record

 

DS:SI

Pointer to the hybrid MBR hand over structure (see

New

 

table A.3)

 

Table A.3 defines the Hybrid MBR boot code hand over structure.

NOTE 5 — With legacy MBR boot code, this structure included fields from the MBR Partition Record of the boot partition. Since the GPT partition may be located at an LBA beyond the 32-bit LBA addressing boundary, additional fields are added to communicate the full information to the VBR.

Table A.3 — Hybrid MBR boot code hand over structure

 

Byte

Byte

 

Differences from legacy

Mnemonic

Offset

Length

Description

MBR hand over structure

 

 

 

 

 

Boot Indicator

0

1

Set to 80h (i.e., bootable).

Fixed value

 

 

 

 

 

Starting CHS

1

3

Set to FF_FFFFh. The VBR boot code

Fixed value

 

 

 

should ignore this field.

 

 

 

 

 

 

OS Type

4

1

Set to the OS Type of the bootable

No change

 

 

 

partition (i.e., that would have been

 

 

 

 

assigned had the partition been

 

 

 

 

installed in an MBR disk layout).

 

Ending CHS

5

3

Set to FF_FFFFh. The VBR boot code

Fixed value

 

 

 

should ignore this field.

 

 

 

 

 

 

Starting LBA

8

4

Set to FFFF_FFFFh.

Fixed value

 

 

 

 

 

Size In LBA

12

4

Set to FFFF_FFFFh.

Fixed value

 

 

 

 

 

Size Of Partition Entry

16

4

Set to the Size Of Partition Entry field of

New value

 

 

 

the GPT Partition Header.

 

 

 

 

 

 

GPT Partition Entry

20

Partition

Set to the GPT Partition Entry of the

New value

 

 

Entry

boot partition

 

 

 

Size

 

 

Working Draft Enhanced Disk Drive - 4 (EDD-4)

73

Page 85
Image 85
Western Digital T13/2132-D manual Hybrid MBR boot code endeavor procedure, Eax