Commit Graph

193 Commits

Author SHA1 Message Date
Alexander Graf
4578c8ae20 Author: Alexander Graf <alex@csgraf.de>
Expose NVRAM compatibility

Linux requires the NVRAM to expose a 'nvram,flash' compatibility
in the device tree. Let's expose it so it's happy.

v2 adds a NEWWORLD macro to protect nvram,flash getting exposed in
oldworld macs.

Signed-off-by: Alexander Graf <alex@csgraf.de>
Signed-off-by: Laurent Vivier <Laurent@vivier.eu>



git-svn-id: svn://coreboot.org/openbios/openbios-devel@465 f158a5a8-5612-0410-a976-696ce0be7e32
2009-03-08 01:03:17 +00:00
Blue Swirl
2da21531b5 Version 1.0
git-svn-id: svn://coreboot.org/openbios/openbios-devel@463 f158a5a8-5612-0410-a976-696ce0be7e32
2009-03-01 20:07:47 +00:00
Alexander Graf
d257db6033 Make OpenBIOS interrupt handlers 64bit aware v2
While booting a 64bit kernel, there is a small timeframe where OF and the kernel communicate with each other. Within that timeframe, DSI/ISI interrupts may occur, because some memory is not mapped yet.

Right now in case that happens, we jump into the DSI/ISI interrupt handler which clobbers the high 32 bits of the kernel's registers. In order to circumvent that, let's save/restore all 64 bits of all kernel registers when we get a DSI/ISI interrupt.

This patch enables a PPC64 Linux kernel to boot up to the point where it tries to set up the SLB entries (slbmte), which is not yet implemented in qemu.

v2 implements handling for the HIOR register, bringing interrupt handlers to RAM.

Signed-off-by: Alexander Graf <alex@csgraf.de>


git-svn-id: svn://coreboot.org/openbios/openbios-devel@462 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-28 18:38:55 +00:00
Alexander Graf
189c9077a1 This patch enables OpenBIOS to initialize on PPC64, enabling support for -cpu 970fx.
It gets up to the boot prompt and works rather good so far, though I haven't been able to run a kernel yet.

For more recent PowerPC CPUs the PTE layout has changed, so we need to take that into account and create PTEs according to the new layout and at the new physical positions.

Signed-off-by: Alexander Graf <alex@csgraf.de>
Signed-off-by: Laurent Vivier <Laurent@vivier.eu>



git-svn-id: svn://coreboot.org/openbios/openbios-devel@461 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-27 22:13:34 +00:00
Blue Swirl
7fbbf2d6eb Add #defines for PCI classes and subclasses
git-svn-id: svn://coreboot.org/openbios/openbios-devel@439 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-02 17:40:29 +00:00
Blue Swirl
c39ebf65f7 Add #defines for PCI vendor and device IDs for all devices, taken from Linux
and pciids.sourceforge.net.

Also fix a confusion between Sabre and Simba device IDs.


git-svn-id: svn://coreboot.org/openbios/openbios-devel@437 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-01 11:25:16 +00:00
Blue Swirl
36bab875b8 Refactor QEMU firmware confguration device handling (based on patch by
Aurelien Jarno)


git-svn-id: svn://coreboot.org/openbios/openbios-devel@432 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-31 08:49:16 +00:00
Laurent Vivier
d474d768b1 Add mac-io IDE driver
git-svn-id: svn://coreboot.org/openbios/openbios-devel@431 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-30 07:44:48 +00:00
Blue Swirl
18f34eca50 Fix native Sparc32 compile
git-svn-id: svn://coreboot.org/openbios/openbios-devel@428 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-26 17:09:21 +00:00
Blue Swirl
3fae06cd81 Add support for floppy boot on Sparc32
git-svn-id: svn://coreboot.org/openbios/openbios-devel@425 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-25 09:56:08 +00:00
Blue Swirl
037d00c9b5 Add Propolice support
git-svn-id: svn://coreboot.org/openbios/openbios-devel@422 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-24 08:23:33 +00:00
Blue Swirl
0bcf12f53b Fix warning about shadowing
git-svn-id: svn://coreboot.org/openbios/openbios-devel@403 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-13 19:54:29 +00:00
Blue Swirl
3bcc49243a Fix native compilation (Aurelien Jarno)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@401 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-13 17:40:00 +00:00
Blue Swirl
b417eb1838 Fix amd64 warning
git-svn-id: svn://coreboot.org/openbios/openbios-devel@393 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-12 18:20:14 +00:00
Blue Swirl
4f2d4ae6f2 Extract ESCC serial driver
git-svn-id: svn://coreboot.org/openbios/openbios-devel@391 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-12 17:46:19 +00:00
Laurent Vivier
358bee9e5d Create properties for an oldworld machine if needed.
If arch is ppc and machine arch id is heathrow, we create:

- properties in root node for a powermac beige
  (Linux says "Powermac G3 (Silk)")

- "AAPL,interrupts" and "AAPL,address" properties in PCI device tree.



git-svn-id: svn://coreboot.org/openbios/openbios-devel@388 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-11 01:03:16 +00:00
Blue Swirl
91a9c7865a Add EBUS bridge, refactor PC serial and keyboard, generalize floppy
git-svn-id: svn://coreboot.org/openbios/openbios-devel@377 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-10 11:37:34 +00:00
Blue Swirl
0c3877f095 Enable Sparc64 PCI probing, use probed display but not IDE
git-svn-id: svn://coreboot.org/openbios/openbios-devel@376 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-09 21:00:38 +00:00
Blue Swirl
24848e97dd Fix VBE address on Sparc64
git-svn-id: svn://coreboot.org/openbios/openbios-devel@374 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-09 20:55:34 +00:00
Blue Swirl
8a4aadc9b8 Create PCI properties "interrupts", "interrupt-map" and "interrupt-map-mask" (Laurent Vivier)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@363 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-07 15:45:26 +00:00
Blue Swirl
eb3f96ade3 Fix amd64 warnings, enable more warnings
git-svn-id: svn://coreboot.org/openbios/openbios-devel@360 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-06 19:06:58 +00:00
Blue Swirl
1b47a7ee96 Fix x86 warnings, enable more warnings
git-svn-id: svn://coreboot.org/openbios/openbios-devel@359 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-06 18:46:22 +00:00
Blue Swirl
251d1101ca Fix amd64 build
git-svn-id: svn://coreboot.org/openbios/openbios-devel@358 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-06 18:09:22 +00:00
Blue Swirl
18d3fd2172 Fix x86 build
git-svn-id: svn://coreboot.org/openbios/openbios-devel@357 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-06 17:18:46 +00:00
Blue Swirl
49d3954458 Mac-io cleanup (Laurent Vivier)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@356 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-05 20:30:39 +00:00
Blue Swirl
6eea2f277a Define "screen-#columns" and "screen-#rows" in /options (Laurent Vivier)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@355 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-05 20:20:45 +00:00
Blue Swirl
a767eeb2d4 Allocate Forth memory and dictionary using malloc like PPC (cf. r345)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@347 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-04 14:47:11 +00:00
Blue Swirl
992839d220 Allocate Forth memory and dictionary using malloc like PPC
git-svn-id: svn://coreboot.org/openbios/openbios-devel@345 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-03 13:46:15 +00:00
Blue Swirl
91148c0702 Clean up Sparc32 memory management
Concentrate memory and MMU management (lib.c malloc, romvec opb_, iommu,
OF /memory) to lib.c.



git-svn-id: svn://coreboot.org/openbios/openbios-devel@344 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-03 13:45:02 +00:00
Blue Swirl
ec53fcec45 Clean up video routines
git-svn-id: svn://coreboot.org/openbios/openbios-devel@343 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-02 14:53:33 +00:00
Blue Swirl
2137312f95 Clean up font handling
git-svn-id: svn://coreboot.org/openbios/openbios-devel@342 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-02 13:32:15 +00:00
Blue Swirl
5548667b76 Define the translations property for cpu (Laurent Vivier)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@333 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-31 16:19:15 +00:00
Blue Swirl
43936f6496 Fix Linux dependency
git-svn-id: svn://coreboot.org/openbios/openbios-devel@327 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-28 13:34:52 +00:00
Blue Swirl
37cc208996 Move serial console functions to obio.c
git-svn-id: svn://coreboot.org/openbios/openbios-devel@317 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-23 12:07:07 +00:00
Blue Swirl
58d21fb1c2 Change part_length to a define
git-svn-id: svn://coreboot.org/openbios/openbios-devel@312 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-23 10:15:14 +00:00
Blue Swirl
e7b906fd86 Fix gcc and Sparse warnings generated by r301
git-svn-id: svn://coreboot.org/openbios/openbios-devel@302 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-21 09:15:57 +00:00
Laurent Vivier
e11b806d1c qemu better support
This patches copies all needed ppc files to qemu and modifies them.

The generated OpenBIOS image must be loaded at adresse 0xfff00000 by  Qemu.

It is able to load Yaboot from disk and Yaboot is able to load Linux, but Linux hangs somewhere... of course it needs more work (but this cleans up my patch queue).

Thank you to Blue Swirl and Aurelien Jarno for their help.

Signed-off-by: Laurent Vivier <Laurent@lvivier.info>


git-svn-id: svn://coreboot.org/openbios/openbios-devel@301 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-21 08:30:42 +00:00
Blue Swirl
d7208a6daf Fix Sparse warnings
git-svn-id: svn://coreboot.org/openbios/openbios-devel@296 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-20 18:36:23 +00:00
Blue Swirl
7e21fc929d Fix almost all remaining warnings
git-svn-id: svn://coreboot.org/openbios/openbios-devel@294 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-20 17:15:47 +00:00
Blue Swirl
edafcf6e86 IDE fixes for PPC (Laurent Vivier)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@292 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-20 14:48:40 +00:00
Blue Swirl
c5d270009e Warning fixes for Sparc32, Sparc64, PPC
Fix warnings that would be caused by gcc flag -Wwrite-strings and
-Wmissing-prototypes. Also fix most PPC specific warnings.


git-svn-id: svn://coreboot.org/openbios/openbios-devel@288 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-14 12:54:23 +00:00
Blue Swirl
41659eb217 Remove spurious svn:executable property
git-svn-id: svn://coreboot.org/openbios/openbios-devel@286 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-14 09:09:48 +00:00
Blue Swirl
a757800a01 Remove unnecessary trailing newlines
git-svn-id: svn://coreboot.org/openbios/openbios-devel@285 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-13 09:26:41 +00:00
Blue Swirl
58ca864765 Delete extra whitespace at the end of line, which annoys quilt
git-svn-id: svn://coreboot.org/openbios/openbios-devel@284 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-11 20:30:53 +00:00
Blue Swirl
e338f06ba1 Initialize VGA from PCI configuration (Laurent Vivier)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@281 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-05 18:31:27 +00:00
Blue Swirl
d4eec07d55 Fix some more warnings
git-svn-id: svn://coreboot.org/openbios/openbios-devel@275 f158a5a8-5612-0410-a976-696ce0be7e32
2008-11-30 13:42:11 +00:00
Blue Swirl
bf0c6b1c38 Fix most warnings from Sparse
git-svn-id: svn://coreboot.org/openbios/openbios-devel@274 f158a5a8-5612-0410-a976-696ce0be7e32
2008-11-30 11:54:01 +00:00
Blue Swirl
c52d26b976 Reduce warnings by 29%
git-svn-id: svn://coreboot.org/openbios/openbios-devel@273 f158a5a8-5612-0410-a976-696ce0be7e32
2008-11-29 19:31:28 +00:00
Blue Swirl
f446864114 Use pci_arch_t also on Sparc64 (but disable PCI probing for now, hangs)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@270 f158a5a8-5612-0410-a976-696ce0be7e32
2008-11-29 13:18:32 +00:00
Blue Swirl
80df7beb9f Eliminate M4 macros
git-svn-id: svn://coreboot.org/openbios/openbios-devel@266 f158a5a8-5612-0410-a976-696ce0be7e32
2008-11-28 19:40:28 +00:00