提交 f3c62823 编写于 作者: A aliguori

Update to latest Bochs BIOS

A number of our patches have been merged so we can now remove them from our
queue.
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6117 c046a42c-6fe2-441c-8c8c-71466251a162
上级 68d5736a
Disable stack protector for BIOS
Some distro GCCs (like Ubuntu) enable stack protection by default. Since the
BIOS doesn't link against libgcc, this results in undefined references unless
the stack protector is disabled.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/bios/Makefile.in b/bios/Makefile.in
index af674b4..5c7bd4f 100644
--- a/bios/Makefile.in
+++ b/bios/Makefile.in
@@ -41,7 +41,7 @@ RANLIB = @RANLIB@
BCC = bcc
GCC = gcc
-GCC32 = gcc -m32
+GCC32 = gcc -m32 -fno-stack-protector
AS86 = as86
BX_INCDIRS = -I.. -I$(srcdir)/.. -I../iodev -I$(srcdir)/../iodev
Make ACPI tables byte-aligned
The ACPI spec requires structures to be byte-aligned. I'm a bit surprised we've
gotten away with this for so long. This patch allows Knoppix to boot. This bug
was reported by Paul Brook.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/bios/rombios32.c b/bios/rombios32.c
index 7953485..540912a 100644
--- a/bios/rombios32.c
+++ b/bios/rombios32.c
@@ -1099,6 +1099,12 @@ static void mptable_init(void)
/* Table structure from Linux kernel (the ACPI tables are under the
BSD license) */
+/*
+ * All tables must be byte-packed to match the ACPI specification, since
+ * the tables are provided by the system BIOS.
+ */
+#pragma pack(1)
+
#define ACPI_TABLE_HEADER_DEF /* ACPI common table header */ \
uint8_t signature [4]; /* ACPI signature (4 ASCII characters) */\
uint32_t length; /* Length of table, in bytes, including header */\
@@ -1326,6 +1332,10 @@ struct madt_int_override
};
#endif
+/* Reset to default packing */
+
+#pragma pack()
+
#include "acpi-dsdt.hex"
static inline uint16_t cpu_to_le16(uint16_t x)
Fix bochs bios build from a separate directory
Bochs keeps the BIOS-bochs-latest and BIOS-bochs-legacy binaries under revision
control. Since the build changes these binaries, and guilt cannot handle
changed binaries, it makes it very difficult to work with a patch queue if
you're building from the same tree as the source is located.
Bochs has some support for building from a separate directory but it's currently
broken. This patch fixes that and allows for a sane work flow when developing
BIOS changes for QEMU.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/bios/Makefile.in b/bios/Makefile.in
index 5c7bd4f..3d3d195 100644
--- a/bios/Makefile.in
+++ b/bios/Makefile.in
@@ -98,7 +98,7 @@ rombios32.bin: rombios32.out rombios.h
./biossums -pad $@
rombios32.out: rombios32start.o rombios32.o rombios32.ld
- ld -o $@ -T rombios32.ld rombios32start.o rombios32.o
+ ld -o $@ -T $(srcdir)/rombios32.ld rombios32start.o rombios32.o
rombios32.o: rombios32.c acpi-dsdt.hex
$(GCC32) -O2 -Wall -c -o $@ $<
@@ -115,5 +115,4 @@ rombios32start.o: rombios32start.S
BIOS-bochs-latest: rombios16.bin rombios32.bin
cat rombios32.bin rombios16.bin > $@
-biossums: biossums.c
- $(GCC) -o biossums biossums.c
+biossums: biossums.o
9d573204c0bef20be64f99c55c29660f5fd2fe71
370a7e0d8419bc05192d766c11b7221e5ffc0f75
0001_bx-qemu.patch
0002_e820-high-mem.patch
0003_smp-startup-poll.patch
0004_no-stack-protector.patch
0005_hpet.patch
0006_acpi-packing.patch
0007_separate-build-dir.patch
无法预览此类型文件
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册