#114: Use GCCINCDIR instead of open-coding it
Reporter: vincent.legoll(a)gmail.com | Type: enhancement
Status: new | Priority: trivial
Milestone: | Component: filo
Version: v2 | Keywords: makefile
Dependencies: | Patchstatus: patch is ready to be committed
in trunk/filo/Makefile, there is duplicated code to get gcc include
directory, the attached patch fixes that.
Ticket URL: </trac/ticket/114>
These patches let Ubuntu 8.10 boot with ACPI support and no ACPI
table-related warnings. I haven't done SMM support yet, so that still
complains and disables IRQ 9.
Windows still doesn't like something, but I thought I'd contribute
this code before I started using munged factory tables to see if I can
get it to work that way. Because resource allocation is totally
different, the tables will need to be munged quite a bit :(
This patch adds common elements for ck804-based boards.
changes by file:
Be Paranoid and set srat_lapic table to zero before filling it.
Enable SLIT filling if acpi_create_slit gets called.
Add high tables code ala Stefan's code for the i945.
Put this file here instead of every board having a personal copy.
Enable High Precision Event Timers.
Add pm_base for ACPI.
Silence warnings about implicit functions and format strings.
Add slit prototype and minor whitespace.
Since fadt is only dependent on the Southbridge, add it here.
Compile in ck804_fadt.c
changes by file:
Add options and defaults for ACPI tables and resources.
Add high_tables resource ala Stefan's code for the Kontron.
Fill out the ACPI tables, using existing code where possible.
Only the madt is different between the boards, to be combined later.
Compile in acpi_tables.c and dsdt.dsl.
Turn on the parallel port and the real-time-clock.
The board layout (thanks Rudolf) and interrupts from mptable.c
Minor formatting changes to make them diff better.
src/superio/smsc/lpc47b397/superio.c: (s2895 only)
Correct the size of the real-time-clock so it can be where it belongs.
Signed-off-by: Myles Watson <mylesgw(a)gmail.com>
I am trying to boot windows xp with my dbm690t which has S1G1 CPU,
sb600 and rs690 chipset. Now, It still soft reset after loading several
files. The serial debug message says:
Do you have any advice for that or give me and ideas to debug?
BeiJing Technology Development Center
Advanced Micro Devices (AMD)
-----BEGIN PGP SIGNED MESSAGE-----
This patch is for AMD boards which can do the P state generation. This just
removes the ugly binary DSDT patching and all other related stuff. Stick to
infrastructure in previous patch.
This was just compile tested. I think it should work. Please test.
Signed-off-by: Rudolf Marek <r.marek(a)assembler.cz>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
Does anyone have an updated HOWTO for booting XP with SeaBIOS? I'm
specifically wondering if there's an option we should add to v2 which
relocates BIOS tables so that SeaBIOS doesn't overwrite them, or if we
should add that to buildrom.
I'm CC'ing lkml and coreboot mailing lists.
On Thu, Feb 19, 2009 at 10:26:17PM +0100, Stefan Reinauer wrote:
> OK, I played some more, and I finally found out it's earlyprintk and not
> early_printk. Plus there is bootmem_debug:
> Initializing cgroup subsys cpuset
> Initializing cgroup subsys cpu
> Linux version 18.104.22.168-9-default (geeko@buildhost) (gcc version 4.3.2
> [gcc-4_3-branch re0
> PAT WC disabled due to known CPU erratum.
> BIOS-provided physical RAM map:
> BIOS-e820: 0000000000000000 - 0000000000001000 (reserved)
> BIOS-e820: 0000000000001000 - 0000000000090000 (usable)
> BIOS-e820: 0000000000090000 - 0000000000100000 (reserved)
> BIOS-e820: 0000000000100000 - 000000003f7f0000 (usable)
> BIOS-e820: 000000003f7f0000 - 0000000040000000 (reserved)
> BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
> ACPI: no DMI BIOS year, acpi=force is required to enable ACPI
> ACPI: Disabling ACPI support
> found SMP MP-table at [c00f9fc0] 000f9fc0
> bootmem::mark_bootmem_node nid=0 start=f9 end=fb reserve=1 flags=0
> bootmem::__reserve nid=0 start=f9 end=fb flags=0
> bootmem::__reserve silent double reserve of PFN f9
> bootmem::__reserve silent double reserve of PFN fa
> BUG: Int 6: CR2 00000000
> EDI c00f9fd0 ESI 3f7f5410 EBP 0003f7f5 ESP c0535f20
> EBX c056c00c EDX 00000006 ECX 00000001 EAX c056c03c
> err 00000000 EIP c054f8f0 CS 00000060 flg 00010046
> Stack: 00000000 00000000 00000001 00038000 0003f7f5 f880abf0 3f7f5410
> 00000001 c054f91d 00000000 c054571a c0413e7e c00f9fc0 000f9fc0
> 3f7bf64d 00000000 3e2c5000 c054578a 00000000 c053f3b6 3f7bf64d
> So it dies because of the way it tries to reserve the MP-table.
> Here's the stack trace.
> [<c054f8f0>] mark_bootmem+0x9b/0xab
> [<c054f91d>] reserve_bootmem+0x1d/0x1f
> [<c054571a>] smp_scan_config+0xd9/0xfa
> [<c054578a>] __find_smp_config+0x4f/0x6e
> [<c053f3b6>] setup_arch+0x576/0x639
> [<c054ebc4>] cgroup_init_subsys+0x29/0xc9
> [<c053a6ac>] start_kernel+0x6b/0x31f
It looks like the problem is that the MPTable is located in the last
64K of memory (instead of the first few megabytes). There is a
comment about this in arch/x86/kernel/mpparse.c:
* We cannot access to MPC table to compute
* table size yet, as only few megabytes from
* the bottom is mapped now.
* PC-9800's MPC table places on the very last
* of physical memory; so that simply reserving
* PAGE_SIZE from mpg->mpf_physptr yields BUG()
* in reserve_bootmem.
However, that comment is in an #ifdef specific to 32bit kernels.
(Though, it's not clear to me how that code would help as it sets size
to be a negative number.)
The easiest way to fix this is to change SeaBIOS to copy the whole
mptable to the first megabyte. Also, we need to fix your SMBIOS so
that ACPI is used instead of the mptable.