Update to 0.5.1 release and add needed patches for qemu

This commit is contained in:
Justin M. Forbes 2010-03-03 21:55:03 +00:00
parent e9236f4a2b
commit 41145fb035
6 changed files with 91 additions and 10 deletions

View File

@ -0,0 +1 @@
seabios-0.5.1.tar.gz

View File

@ -0,0 +1,40 @@
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

@ -0,0 +1,32 @@
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

Binary file not shown.

View File

@ -1,18 +1,17 @@
%define githead 669c991
Name: seabios
Version: 0.5.1
Release: 0.1.20100108git%{githead}%{?dist}
Release: 1%{?dist}
Summary: Open-source legacy BIOS implementation
Group: Applications/Emulators
License: LGPLv3
URL: http://www.coreboot.org/SeaBIOS
# Source0: http://linuxtogo.org/~kevin/SeaBIOS/%{name}-%{version}.tar.gz
# The source for this package was pulled from upstream's git. Use the
# following commands to generate the tarball:
# git archive --format=tar --prefix=seabios-0.5.1/ 669c991 | gzip > seabios-0.5.1-669c991.tar.gz
Source0: %{name}-%{version}-%{githead}.tar.gz
Source0: http://linuxtogo.org/~kevin/SeaBIOS/%{name}-%{version}.tar.gz
# Patches from git 0.5.1-stable branch
Patch01: 0001-Go-back-to-using-0xf0000000-for-PCI-memory-start.patch
Patch02: 0002-Fix-PkgLength-calculation-for-the-SSDT.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python
@ -26,8 +25,12 @@ that a typical x86 proprietary BIOS implements.
%prep
%setup -q
# Makefile on pre releases changes version to include date and buildhost
sed -i 's,VERSION=pre-%{version}.*,VERSION=pre-%{version}-%{githead},g' Makefile
%patch01 -p1
%patch02 -p1
# Makefile changes version to include date and buildhost
sed -i 's,VERSION=%{version}.*,VERSION=%{version},g' Makefile
%build
@ -53,5 +56,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Wed Mar 03 2010 Justin M. Forbes <jforbes@redhat.com> 0.5.1-1
- Update to 0.5.1 stable release
- Pick up patches required for current qemu
* Thu Jan 07 2010 Justin M. Forbes <jforbes@redhat.com> 0.5.1-0.1.20100108git669c991
- Created initial package

View File

@ -0,0 +1 @@
f62dfb05200141ea71ff69e794078744 seabios-0.5.1.tar.gz