[syslinux] [PATCH] [memdisk] Additional EDD Device Parameter Table fields
Miller, Shao
Shao.Miller at yrdsb.edu.on.ca
Thu Jul 30 23:02:19 PDT 2009
>From 2454bb2c28476e2c7868e965fab114e8be326fa2 Mon Sep 17 00:00:00 2001
From: Shao Miller <shao.miller at yrdsb.edu.on.ca>
Date: Fri, 31 Jul 2009 01:39:56 -0400
Subject: [PATCH] [memdisk] Additional EDD Device Parameter Table fields
Some additional fields from the EDD-4 spec. draft for the Device
Parameter
Table have been added into the structure in setup.c and memdisk.inc.
These
were added in the hopes of resolving a FreeDOS MEMDISK bug on IBM
ThinkPads.
---
memdisk/memdisk.inc | 11 +++++++++++
memdisk/setup.c | 10 ++++++++++
2 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/memdisk/memdisk.inc b/memdisk/memdisk.inc
index 2699c34..b4d45c4 100644
--- a/memdisk/memdisk.inc
+++ b/memdisk/memdisk.inc
@@ -1008,6 +1008,17 @@ EDD_DPT:
.totalsize dd 0, 0 ; Filled in by installer
.bytespersec dw SECTORSIZE
.eddtable dw -1, -1 ; Invalid DPTE pointer
+.dpikey dw 0 ; Device Path Info magic
(not impl.)
+ ; Would be 0beddh if implemented
+.dpilen db 2ch ; DPI len
+.res1 db 0 ; Reserved
+.res2 db 0 ; Reserved
+.bustype equ 'PCI ' ; Host bus type (4 bytes, space
padded)
+.inttype equ 'ATA ' ; Interface type (8 bytes, spc.
padded)
+.intpath dd 0, 0 ; Interface path
+.devpath dd 0, 0, 0, 0 ; Device path
+.res3 db 0 ; Reserved
+.chksum db 0 ; DPI checksum (not
implemented)
%endif
diff --git a/memdisk/setup.c b/memdisk/setup.c
index 98c4b69..b8efd8a 100644
--- a/memdisk/setup.c
+++ b/memdisk/setup.c
@@ -80,6 +80,16 @@ struct edd_dpt {
uint64_t sectors; /* Total sectors */
uint16_t bytespersec; /* Bytes/sector */
uint16_t dpte_off, dpte_seg; /* DPTE pointer */
+ uint16_t dpikey; /* Device Path Info magic */
+ uint8_t dpilen; /* DPI length */
+ uint8_t res1; /* Reserved */
+ uint8_t res2; /* Reserved */
+ uint8_t bustype[4]; /* Host bus type */
+ uint8_t inttype[8]; /* Interface type */
+ uint64_t intpath; /* Interface path */
+ uint64_t devpath[2]; /* Device path (double QuadWord!) */
+ uint8_t res3; /* Reserved */
+ uint8_t chksum; /* DPI checksum */
};
struct patch_area {
--
1.5.6.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001--memdisk-Additional-EDD-Device-Parameter-Table-fiel.patch
Type: application/octet-stream
Size: 2131 bytes
Desc: 0001--memdisk-Additional-EDD-Device-Parameter-Table-fiel.patch
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20090731/b80f4c77/attachment.obj>
More information about the Syslinux
mailing list