* doc/multiboot.texi: New tags for EFI system table, DHCP ACK, SMBIOS

and RSDP.
This commit is contained in:
Vladimir 'phcoder' Serbinenko committed 2010-09-21 01:41:26 +02:00
1 parent b915f0e9b0
commit 6038ec9ee1
3 files changed
+140

No files matched your search

+5
View File
@@ -1,3 +1,8 @@
2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
* doc/multiboot.texi: New tags for EFI system table, DHCP ACK, SMBIOS
and RSDP.
2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
* doc/multiboot.texi: Typo fix.
+84
View File
@@ -690,6 +690,8 @@ The OS image must leave interrupts disabled until it sets up its own
@code{IDT}.
@end table
On EFI system boot services must be terminated.
@node Boot information format
@section Boot information
@subsection Boot information format
@@ -1044,6 +1046,88 @@ u8 | framebuffer_blue_mask_size |
If @samp{framebuffer_type} is set to @samp{2} it means EGA text. In this case @samp{framebuffer_width} and @samp{framebuffer_height} are expressed in characters and not in pixels. @samp{framebuffer_bpp} is equal 16 (16 bits per character) and @samp{framebuffer_pitch} is expressed in bytes per text line.
All further values of @samp{framebuffer_type} are reserved for future expansion
@subsection EFI 32-bit system table pointer
@example
@group
+-------------------+
u32 | type = 11 |
u32 | size = 12 |
u32 | pointer |
+-------------------+
@end group
@end example
This tag contains pointer to i386 EFI system table.
@subsection EFI 64-bit system table pointer
@example
@group
+-------------------+
u32 | type = 12 |
u32 | size = 16 |
u64 | pointer |
+-------------------+
@end group
@end example
This tag contains pointer to amd64 EFI system table.
@subsection SMBIOS tables
@example
@group
+-------------------+
u32 | type = 13 |
u32 | size |
u8 | major |
u8 | minor |
u8[6] | reserved |
| smbios tables |
+-------------------+
@end group
@end example
This tag contains a copy of SMBIOS tables as well as their version.
@subsection ACPI old RSDP
@example
@group
+-------------------+
u32 | type = 14 |
u32 | size |
| copy of RSDPv1 |
+-------------------+
@end group
@end example
This tag contains a copy of RSDP as defined per ACPI 1.0 specification.
@subsection ACPI new RSDP
@example
@group
+-------------------+
u32 | type = 15 |
u32 | size |
| copy of RSDPv2 |
+-------------------+
@end group
@end example
This tag contains a copy of RSDP as defined per ACPI 2.0 or later specification.
@subsection Networking information
@example
@group
+-------------------+
u32 | type = 16 |
u32 | size |
| DHCP ACK |
+-------------------+
@end group
@end example
This tag contains network information in the format specified as DHCP. It may be either a real DHCP reply or just the configuration info in the same format. This tag appears once per card.
@node Examples
@chapter Examples
+51
View File
@@ -52,6 +52,12 @@
#define MULTIBOOT_TAG_TYPE_FRAMEBUFFER 8
#define MULTIBOOT_TAG_TYPE_ELF_SECTIONS 9
#define MULTIBOOT_TAG_TYPE_APM 10
#define MULTIBOOT_TAG_TYPE_EFI32 11
#define MULTIBOOT_TAG_TYPE_EFI64 12
#define MULTIBOOT_TAG_TYPE_SMBIOS 13
#define MULTIBOOT_TAG_TYPE_ACPI_OLD 14
#define MULTIBOOT_TAG_TYPE_ACPI_NEW 15
#define MULTIBOOT_TAG_TYPE_NETWORK 16
#define MULTIBOOT_HEADER_TAG_END 0
#define MULTIBOOT_HEADER_TAG_INFORMATION_REQUEST 1
@@ -309,6 +315,51 @@ struct multiboot_tag_apm
multiboot_uint16_t dseg_len;
};
struct multiboot_tag_efi32
{
multiboot_uint32_t type;
multiboot_uint32_t size;
multiboot_uint32_t pointer;
};
struct multiboot_tag_efi64
{
multiboot_uint32_t type;
multiboot_uint32_t size;
multiboot_uint64_t pointer;
};
struct multiboot_tag_smbios
{
multiboot_uint32_t type;
multiboot_uint32_t size;
multiboot_uint8_t major;
multiboot_uint8_t minor;
multiboot_uint8_t reserved[6];
multiboot_uint8_t tables[0];
};
struct multiboot_tag_old_acpi
{
multiboot_uint32_t type;
multiboot_uint32_t size;
multiboot_uint8_t rsdp[0];
};
struct multiboot_tag_new_acpi
{
multiboot_uint32_t type;
multiboot_uint32_t size;
multiboot_uint8_t rsdp[0];
};
struct multiboot_tag_network
{
multiboot_uint32_t type;
multiboot_uint32_t size;
multiboot_uint8_t dhcpack[0];
};
#endif /* ! ASM_FILE */
#endif /* ! MULTIBOOT_HEADER */