[U-Boot] [PATCH 02/19] Introduce a header file for the BIOS emulator

Simon Glass sjg at chromium.org
Sat Nov 15 04:56:28 CET 2014


We should have a public header so that users can avoid defining functions
themselves.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 drivers/bios_emulator/include/biosemu.h | 53 ++-------------------------------
 drivers/video/ati_radeon_fb.c           |  2 +-
 include/bios_emul.h                     | 43 ++++++++++++++++++++++++++
 3 files changed, 46 insertions(+), 52 deletions(-)
 create mode 100644 include/bios_emul.h

diff --git a/drivers/bios_emulator/include/biosemu.h b/drivers/bios_emulator/include/biosemu.h
index e92e96e..124d79d 100644
--- a/drivers/bios_emulator/include/biosemu.h
+++ b/drivers/bios_emulator/include/biosemu.h
@@ -43,6 +43,8 @@
 #ifndef __BIOSEMU_H
 #define __BIOSEMU_H
 
+#include <bios_emul.h>
+
 #ifdef __KERNEL__
 #include "x86emu.h"
 #else
@@ -55,57 +57,6 @@
 
 #pragma pack(1)
 
-#ifndef __KERNEL__
-/****************************************************************************
-REMARKS:
-Data structure used to describe the details specific to a particular VGA
-controller. This information is used to allow the VGA controller to be
-swapped on the fly within the BIOS emulator.
-
-HEADER:
-biosemu.h
-
-MEMBERS:
-pciInfo         - PCI device information block for the controller
-BIOSImage       - Pointer to a read/write copy of the BIOS image
-BIOSImageLen    - Length of the BIOS image
-LowMem          - Copy of key low memory areas
-****************************************************************************/
-typedef struct {
-	PCIDeviceInfo *pciInfo;
-	void *BIOSImage;
-	ulong BIOSImageLen;
-	uchar LowMem[1536];
-} BE_VGAInfo;
-#else
-/****************************************************************************
-REMARKS:
-Data structure used to describe the details for the BIOS emulator system
-environment as used by the X86 emulator library.
-
-HEADER:
-biosemu.h
-
-MEMBERS:
-vgaInfo         - VGA BIOS information structure
-biosmem_base    - Base of the BIOS image
-biosmem_limit   - Limit of the BIOS image
-busmem_base     - Base of the VGA bus memory
-****************************************************************************/
-typedef struct {
-	int function;
-	int device;
-	int bus;
-	u32 VendorID;
-	u32 DeviceID;
-	pci_dev_t pcidev;
-	void *BIOSImage;
-	u32 BIOSImageLen;
-	u8 LowMem[1536];
-} BE_VGAInfo;
-
-#endif				/* __KERNEL__ */
-
 #define CRT_C   24		/* 24  CRT Controller Registers             */
 #define ATT_C   21		/* 21  Attribute Controller Registers       */
 #define GRA_C   9		/* 9   Graphics Controller Registers        */
diff --git a/drivers/video/ati_radeon_fb.c b/drivers/video/ati_radeon_fb.c
index 38d2eb1..cbf4900 100644
--- a/drivers/video/ati_radeon_fb.c
+++ b/drivers/video/ati_radeon_fb.c
@@ -19,6 +19,7 @@
 #include <common.h>
 
 #include <command.h>
+#include <bios_emul.h>
 #include <pci.h>
 #include <asm/processor.h>
 #include <asm/errno.h>
@@ -549,7 +550,6 @@ void radeon_setmode_9200(int vesa_idx, int bpp)
 }
 
 #include "../bios_emulator/include/biosemu.h"
-extern int BootVideoCardBIOS(pci_dev_t pcidev, BE_VGAInfo ** pVGAInfo, int cleanUp);
 
 int radeon_probe(struct radeonfb_info *rinfo)
 {
diff --git a/include/bios_emul.h b/include/bios_emul.h
new file mode 100644
index 0000000..35d1ff3
--- /dev/null
+++ b/include/bios_emul.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 1996-1999 SciTech Software, Inc.
+ *
+ * SPDX-License-Identifier:	GPL-2.0
+ */
+
+#ifndef _BIOS_EMUL_H
+#define _BIOS_EMUL_H
+
+/* Include the register header directly here */
+#include "../drivers/bios_emulator/include/x86emu/regs.h"
+
+/****************************************************************************
+REMARKS:
+Data structure used to describe the details for the BIOS emulator system
+environment as used by the X86 emulator library.
+
+HEADER:
+biosemu.h
+
+MEMBERS:
+vgaInfo         - VGA BIOS information structure
+biosmem_base    - Base of the BIOS image
+biosmem_limit   - Limit of the BIOS image
+busmem_base     - Base of the VGA bus memory
+****************************************************************************/
+typedef struct {
+	int function;
+	int device;
+	int bus;
+	u32 VendorID;
+	u32 DeviceID;
+	pci_dev_t pcidev;
+	void *BIOSImage;
+	u32 BIOSImageLen;
+	u8 LowMem[1536];
+} BE_VGAInfo;
+
+struct vbe_mode_info;
+
+int BootVideoCardBIOS(pci_dev_t pcidev, BE_VGAInfo **pVGAInfo, int cleanUp);
+
+#endif
-- 
2.1.0.rc2.206.gedb03e5



More information about the U-Boot mailing list