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
<boot-script>boot &device;:1,\suseboot\yaboot.ibm</boot-script>.
This would evaluate to boot cd:0,1\suseboot\yaboot.ibm which results
in a file not found error (seen on many openSUSE ppc media).
With this patch the above will evaluate to boot cd:0,\suseboot\yaboot.ibm
and yaboot will load.
Signed-off-by: Stefan Assmann <sassmann@suse.de>
git-svn-id: svn://coreboot.org/openbios/openbios-devel@429 f158a5a8-5612-0410-a976-696ce0be7e32
The current implementation of the milliseconds prom call on PowerPC is
totally buggy:
- The timer frequency returned by get_timer_freq() does not correspond
to the timer which is read.
- The dividend and the divisor of the division are swapped
- If called very often, this function is not precise
- Depending on the timer frequency and of the frequency of the calls,
the variable overflow after a few dozen of seconds.
Please find in this patch a totally new implementation. This fixes the
problem observed with the quik when a timeout is defined.
The timer frequency is defined using #define, I wonder if there is a
better place to put it.
It reads both low and high part of the timer to make sure there is no
overflow. It also removes the function that returns 0 on the first call
as this is not needed according to IEEE 1275-1994. Finally it computes
the real value of the timer each time, instead of adding a small value
to a variable at each function calls, in order to get a correct
precision if this method is call very often.
(Aurelien Jarno)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@407 f158a5a8-5612-0410-a976-696ce0be7e32
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
Load two first sectors of the partition and check quik signature ('QUIK').
If it is quik, execute it to boot.
Currently partition and parameter are hardcoded to "hd:2" and "Linux".
git-svn-id: svn://coreboot.org/openbios/openbios-devel@385 f158a5a8-5612-0410-a976-696ce0be7e32
"PowerPC Processor binding to:
IEEE 1275-1994, Standard for Boot (Initialization, Configuration) Firmware
Revision: 2.1 (Approved Version), November 6, 1996"
7.1 Calling Convention:
Client interface preserves: msr, cr, r1, r2, r13-r31, sprg0-3, fpscr, f0-f31,
sr0-sr15, other SPRs.
This patch modifies of_client_callback(), to preserve r1, r2, r4-r31.
This is needed to be able to execute the first stage of quik which
supposes r7 is unmodified.
git-svn-id: svn://coreboot.org/openbios/openbios-devel@384 f158a5a8-5612-0410-a976-696ce0be7e32
Move non-vector code to higher memory addresses to free vector area.
Rename entry point _start to _entry so that it will not conflict with
ldscript _start.
git-svn-id: svn://coreboot.org/openbios/openbios-devel@348 f158a5a8-5612-0410-a976-696ce0be7e32
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
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