Age | Commit message (Collapse) | Author | Files | Lines |
|
This fixes an intermittent panic in the AppleSCCSerial module for MacOS
10.2 and the g3beige machine during initialisation as the module tries to
write to the on-chip registers at 0x130XX rather than calculating the
correct address derived from the parent PCI node.
As described in the IEEE-1275 specification: if a "ranges" property exists but
has a zero-length property value, the child address space is identical to the
parent address space.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1395 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Explicitly mark the enum types in usbohci_private.h as extern. This prevents
them from being allocated as common types in each object file and so avoids
"warning: multiple common of... " being emitted by gcc.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1394 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Remove unused functions from the sbus and obio drivers.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1393 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Make sure we use the correct REGISTER_NODE macro when registering the /memory
and /virtual-memory nodes.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1392 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
These are required for MacOS to locate the serial port. Also make sure we
add the 2nd integer to each interrupt in order to indicate level/edge
triggering.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1391 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
These are required for MacOS to locate the serial port.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1390 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
This is required to enable the ports to be detected by OS X.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1389 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Now that the reg addresses are all table-driven, it is possible to
simplify and almost remove the legacy and non-legacy codepaths.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1388 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
I/O offsets were wrong in legacy mode and some were missing in non-legacy mode.
This fixes serial port detection in NetBSD, which was ignoring it.
This also partly fixes MacOS 9.2, which relies on them to initialize OpenTransport.
Based upon an original patch from Hervé Poussineau <hpoussin@reactos.org>.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1387 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
This better describes the variable since it contains a reference to the
channel rather than an offset.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1386 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Instead insert the copyright property if we detect the /rom/macos device
generated by the MacOS boot loader just before we call the client with
go and remove it before control is returned back to the interpreter.
This effectively hides the property from everyone except for MacOS bootloaders.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1385 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
This simply removes the copyright property generated by insert-copyright-property.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1384 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
interpreter
This allows us to optionally intercept and execute code before returning back
to the Forth interactive console.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1383 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1382 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Separate this out rather than keeping it as part of adler32.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1381 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1380 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Commit r1377 accidentally broke compilation with -Werror for platforms without
a default PCI interrupt implementation. Supply a suitable (empty) stub in order
to keep the compiler quiet.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1379 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
With gcc-5.2 default target is power7.
- For 32-bit PPC builds set the target cpu to 604 in order to support PReP as
well as Macs in the future.
- For 64-bit PPC builds set the target cpu to 970 as used in 64-bit Macs but
disable altivec.
Based on an original patch by Laurent Vivier <laurent@vivier.eu>.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1378 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The current code for openpic interrupts is incorrect for two reasons: firstly
it generates an interrupt-map property with 8 IRQ pins (when only 4 are specified
and so the last 4 entries are junk), and secondly it hard-codes the entries with
a non-standard interrupt-mask to give one entry per pin rather than one entry
per PCI device.
Switch everything over to use the existing code used by SPARC64 which
dynamically enumerates the child nodes and builds up the correct properties on
demand. This ensures that everything will work on PCI platforms particularly if
extra cards are dynamically plugged into QEMU.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1377 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
While the configuration space range appears in real SPARC device trees, it
isn't mentioned in the IEEE-1275 PCI bindings and in fact causes Darwin/OS X
to calculate PCI address spaces incorrectly.
Disable this range in the PCI host bridge by default, except for SPARC64
where it can evidently still appear.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1376 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The property appears in device trees for both Old World and New World Macs
so let's do the same.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1375 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
According to "Designing PCI Cards and Drivers for Power Macintosh Computers" the
AAPL,address property should be an array of virtual addresses representing the
bus addresses in the assigned-addresses array.
While this works for PCI memory addresses, IO addresses are incorrect because
the calculated address is still the PCI bus address. Switch over to using the
new space-aware pci_bus_addr_to_host_addr() so that addresses in both memory
and IO space are correctly calculated.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1374 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Currently only PCI memory space is mapped in ob_pci_map_in(). By adding
multi-space support to pci_bus_addr_to_host_addr(), it becomes possible
to translate physical addresses for both memory and IO space.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1373 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
size
This matches the parameters for the map-in word as defined in the IEEE-1275
PCI bindings and provides extra information about the address space in use to
be used later. Even better this allows us to considerably simplify the Forth.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1372 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
This better matches real device trees and fixes Darwin/OS X boot from CDROM
under the QEMU mac99 machine (it seems that IOKit will only detect macio IDE
devices connected to an ata-3 ide controller rather than the previous ata-4
ide controller).
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1371 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Otherwise when two device nodes have the same name property we are unable
to distinguish between them.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1370 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1369 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
This helper function returns the full device path for the device with the
given phandle as a string.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1368 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
There already exists a macro to create the device node and return its phandle,
so use this directly rather than having to create the node and then navigate
to its full path separately.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1367 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Instead of storing the windows in numerical order, store them starting
from %cwp. This means the current window can be located at a fixed point
in the state, rather than calculating the offset based upon %cwp.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1366 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Here the trap context is reorganised to share the same prologue as the CIF
context so that they can be subsequently unified.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1365 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
stack
Rather than having a separate OpenBIOS stack for IMMU/DMMU miss handlers, reuse
the Forth context stack by reserving 8K extra beneath the CPU save state area and
using that instead.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1364 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Rather than having a separate OpenBIOS stack for client interface calls, reuse
the Forth stack by reserving 8K extra beneath the CPU save state area and
using that instead.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1363 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1362 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1361 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The fcstack holds a stack of complete CPU states which can be used to enable
re-entrant calls into Forth (e.g. when processing interrupts).
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1360 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The original motivation behind reducing the stack frame size was in
order to keep the stack usage low enough to boot OpenBSD/NetBSD.
Since the final solution now is to save and restore the entire CPU state
around CIF calls then this no longer matters.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1359 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Replace "-I" by "-iquote" to only take files from this directory
when '#include "..."' is used ('#include <...>' works as usual).
We need this because on powerpc64 asm/sigcontext.h includes <asm/elf.h> and
tries to include target/include/asm/elf.h instead of /usr/include/asm/elf.h.
We also remove from include/arch/ppc/types/h some useless and conflicting
type definitions.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1358 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
As for powerpc64, only sparc64 compiler is available in the distro
(Fedora 22), so use it if is available.
The change is the same one as introduced for powerpc64.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1357 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1356 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Put in two functions code that computes if given architecture
is big endian or not, and the size of long (32bit or 64bit).
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1355 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Add a new ob_ide_quiesce() function and hook it into QEMU PPC's ciface_quiesce()
routine to properly prepare the drives for transferring control to the operating
system.
Without this OS 9 becomes confused about the initial drive state on boot and
refuses to correctly detect and initialise it.
Based upon an original patch by Cormac O'Brien <cormac@c-obrien.org>.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1353 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Mac OS 9 is finicky about devices having the correct properties, so we change
some IDE data to more closely model a real New World Mac.
Signed-off-by: Cormac O'Brien <cormac@c-obrien.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1352 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
CUDA ADB error packets contain a 3-byte payload rather than a standard 2-byte
header plus payload (as seen in QEMU <= 2.4). Allow cuda_adb_req() to differentiate
between the two formats and act accordingly.
Signed-off-by: Cormac O'Brien <cormac@c-obrien.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1351 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Mac OS 9 requires that the host provide escc-legacy serial ports, so we add
them here to get further in the boot process.
Signed-off-by: Cormac O'Brien <cormac@c-obrien.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1350 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Modify some basic device tree properties to more accurately emulate a real Mac
machine.
Signed-off-by: Cormac O'Brien <cormac@c-obrien.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1349 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The child address of the PCI-EBus bridge "ranges" property should be offset from
the BAR address and not the beginning of the address space (similar as to how
the "assigned-addresses" property is generated). This fixes EBus enumeration
under FreeBSD SPARC64.
Reported-by: Marius Strobl <marius@alchemy.franken.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1348 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
On Fedora, powerpc64 cross-compiler is part of the distro, not
the powerpc32 compiler.
As I'm lazy and powerpc64 cross-compiler is able to generate
32bit binaries, this patch modifies switch-arch to allow
to use cross-compiler from a list of architectures instead of
only the target architecture.
I've modified only the powerpc32 target, as I'm not able to test
the other architectures (and Fedora provides only cross-compiler
for powerpc).
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Sigend-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1347 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Since Mac OS 9 and BootX are the only known users of the adler32 word, we use
the word to add an Apple copyright message to the device tree in order to
allow OS 9 to boot.
Signed-off-by: Cormac O'Brien <i.am.cormac.obrien@gmail.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1346 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
This patch adds the 'reservation-granule-size' property to the CPU node, as is
required by Mac OS 9.
Signed-off-by: Cormac O'Brien <i.am.cormac.obrien@gmail.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1345 f158a5a8-5612-0410-a976-696ce0be7e32
|