Patrick Georgi ([email protected]) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/1560

-gerrit

commit 508fd0158780293264c0ad879b6b34d3c6cd686f
Author: Patrick Georgi <[email protected]>
Date:   Fri Aug 17 15:57:36 2012 +0200

    Provide access to smaller registers in eregs
    
    This is in preparation for sharing interrupt handlers
    between YABEL and x86emu.
    
    Change-Id: Iff92c1d899b8ada20972731944341805a49b6326
    Signed-off-by: Patrick Georgi <[email protected]>
---
 src/arch/x86/include/arch/registers.h | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/src/arch/x86/include/arch/registers.h 
b/src/arch/x86/include/arch/registers.h
index bc1b681..d120a2a 100644
--- a/src/arch/x86/include/arch/registers.h
+++ b/src/arch/x86/include/arch/registers.h
@@ -20,8 +20,41 @@
 #ifndef __ARCH_REGISTERS_H
 #define __ARCH_REGISTERS_H
 
+#define __PACKED __attribute__((packed))
+
+#define DOWNTO8(A) \
+       union { \
+               struct { \
+                       union { \
+                               struct { \
+                                       uint8_t A##l; \
+                                       uint8_t A##h; \
+                               } __PACKED; \
+                               uint16_t A##x; \
+                       } __PACKED; \
+                       uint16_t h##A##x; \
+               } __PACKED; \
+               uint32_t e##A##x; \
+       } __PACKED;
+
+#define DOWNTO16(A) \
+       union { \
+               struct { \
+                       uint16_t A; \
+                       uint16_t h##A; \
+               } __PACKED; \
+               uint32_t e##A; \
+       } __PACKED;
+
 struct eregs {
-       uint32_t eax, ecx, edx, ebx, esp, ebp, esi, edi;
+       DOWNTO8(a);
+       DOWNTO8(c);
+       DOWNTO8(d);
+       DOWNTO8(b);
+       DOWNTO16(sp);
+       DOWNTO16(bp);
+       DOWNTO16(si);
+       DOWNTO16(di);
        uint32_t vector;
        uint32_t error_code;
        uint32_t eip;

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to