Update to 0.6.2

This commit is contained in:
Justin M. Forbes 2011-07-13 11:18:54 -05:00
parent 9c63fd69eb
commit 35f47e682b
6 changed files with 60 additions and 75 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
seabios-0.5.1.tar.gz
seabios-0.6.0.tar.gz
/seabios-0.6.2.tar.gz

View File

@ -1,40 +0,0 @@
From 6d75be2d038aa97a1ce52088c6f09d9829e5a39a Mon Sep 17 00:00:00 2001
From: Kevin O'Connor <kevin@koconnor.net>
Date: Thu, 28 Jan 2010 20:33:20 -0500
Subject: [PATCH] Go back to using 0xf0000000 for PCI memory start.
Qemu/Kvm still has some dependencies on 0xe0000000, so go back until
they are ready.
---
src/config.h | 1 +
src/pciinit.c | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/config.h b/src/config.h
index 58c0ffc..6297a48 100644
--- a/src/config.h
+++ b/src/config.h
@@ -143,6 +143,7 @@
// 32KB for shadow ram copying (works around emulator deficiencies)
#define BUILD_BIOS_TMP_ADDR 0x30000
#define BUILD_MAX_HIGHMEM 0xe0000000
+#define BUILD_PCIMEM_START 0xf0000000
#define BUILD_APIC_ADDR 0xfee00000
#define BUILD_IOAPIC_ADDR 0xfec00000
diff --git a/src/pciinit.c b/src/pciinit.c
index a6070e7..0556ee2 100644
--- a/src/pciinit.c
+++ b/src/pciinit.c
@@ -194,7 +194,7 @@ pci_setup(void)
dprintf(3, "pci setup\n");
pci_bios_io_addr = 0xc000;
- pci_bios_mem_addr = BUILD_MAX_HIGHMEM;
+ pci_bios_mem_addr = BUILD_PCIMEM_START;
int bdf, max;
foreachpci(bdf, max) {
--
1.6.6.1

View File

@ -1,32 +0,0 @@
From 9fb3f4d950744e97cc655b7d7b523d8bf101e4a0 Mon Sep 17 00:00:00 2001
From: Magnus Christensson <mch@virtutech.com>
Date: Wed, 25 Nov 2009 16:26:58 +0100
Subject: [PATCH] Fix PkgLength calculation for the SSDT.
Signed-off-by: Magnus Christensson <mch@virtutech.com>
---
src/acpi.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/acpi.c b/src/acpi.c
index f613b03..244536a 100644
--- a/src/acpi.c
+++ b/src/acpi.c
@@ -429,10 +429,12 @@ build_ssdt(void)
// build processor scope header
*(ssdt_ptr++) = 0x10; // ScopeOp
if (cpu_length <= 0x3e) {
+ /* Handle 1-4 CPUs with one byte encoding */
*(ssdt_ptr++) = cpu_length + 1;
} else {
- *(ssdt_ptr++) = 0x7F;
- *(ssdt_ptr++) = (cpu_length + 2) >> 6;
+ /* Handle 5-314 CPUs with two byte encoding */
+ *(ssdt_ptr++) = 0x40 | ((cpu_length + 2) & 0xf);
+ *(ssdt_ptr++) = (cpu_length + 2) >> 4;
}
*(ssdt_ptr++) = '_'; // Name
*(ssdt_ptr++) = 'P';
--
1.6.6.1

49
seabios-0.6.2-build.patch Normal file
View File

@ -0,0 +1,49 @@
diff -ruNp seabios-0.6.2.orig/Makefile seabios-0.6.2/Makefile
--- seabios-0.6.2.orig/Makefile 2011-07-13 10:52:50.000000000 -0500
+++ seabios-0.6.2/Makefile 2011-07-13 11:14:14.000000000 -0500
@@ -5,7 +5,7 @@
# This file may be distributed under the terms of the GNU LGPLv3 license.
# Program version
-VERSION=0.6.2-$(shell date +"%Y%m%d_%H%M%S")-$(shell hostname)
+VERSION=0.6.2
# Output directory
OUT=out/
diff -ruNp seabios-0.6.2.orig/src/ahci.c seabios-0.6.2/src/ahci.c
--- seabios-0.6.2.orig/src/ahci.c 2011-07-13 10:52:50.000000000 -0500
+++ seabios-0.6.2/src/ahci.c 2011-07-13 11:14:14.000000000 -0500
@@ -408,7 +408,6 @@ static void
ahci_detect(void *data)
{
struct ahci_ctrl_s *ctrl = data;
- struct ahci_port_s *port;
u32 pnr, max;
int rc;
@@ -422,7 +421,7 @@ ahci_detect(void *data)
dprintf(1, "AHCI/%d: link %s\n", pnr, rc == 0 ? "up" : "down");
if (rc != 0)
continue;
- port = ahci_port_init(ctrl, pnr);
+ ahci_port_init(ctrl, pnr);
}
}
diff -ruNp seabios-0.6.2.orig/src/bregs.h seabios-0.6.2/src/bregs.h
--- seabios-0.6.2.orig/src/bregs.h 2011-07-13 10:52:50.000000000 -0500
+++ seabios-0.6.2/src/bregs.h 2011-07-13 11:16:04.000000000 -0500
@@ -37,9 +37,9 @@
struct bregs {
u16 ds;
u16 es;
- UREG(edi, di, di_hi, di_lo);
- UREG(esi, si, si_hi, si_lo);
- UREG(ebp, bp, bp_hi, bp_lo);
+ UREG(edi, di, di8u, di8l);
+ UREG(esi, si, si8u, si8l);
+ UREG(ebp, bp, bp8u, bp8l);
UREG(ebx, bx, bh, bl);
UREG(edx, dx, dh, dl);
UREG(ecx, cx, ch, cl);
Binary files seabios-0.6.2.orig/tools/layoutrom.pyc and seabios-0.6.2/tools/layoutrom.pyc differ

View File

@ -1,5 +1,5 @@
Name: seabios
Version: 0.6.1
Version: 0.6.2
Release: 1%{?dist}
Summary: Open-source legacy BIOS implementation
@ -8,6 +8,8 @@ License: LGPLv3
URL: http://www.coreboot.org/SeaBIOS
Source0: http://www.linuxtogo.org/~kevin/SeaBIOS/%{name}-%{version}.tar.gz
Patch0: seabios-0.6.2-build.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python
@ -38,6 +40,8 @@ that a typical x86 proprietary BIOS implements.
%prep
%setup -q
%patch00 -p1
# Makefile changes version to include date and buildhost
sed -i 's,VERSION=%{version}.*,VERSION=%{version},g' Makefile
@ -74,6 +78,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Wed Jul 13 2011 Justin M. forbes <jforbes@redhat.com> - 0.6.2-1
- Update to 0.6.2 upstream for a number of bugfixes
* Mon Feb 14 2011 Justin M. forbes <jforbes@redhat.com> - 0.6.1-1
- Update to 0.6.1 upstream for a number of bugfixes

View File

@ -1 +1 @@
7ac454af8bbe4b4931dd1fd4505e5833 seabios-0.6.1.tar.gz
ec58d93b93fa29550164693f714c9320 seabios-0.6.2.tar.gz