Commit Graph

848 Commits

Author SHA1 Message Date
Mark Cave-Ayland
bf897f1619 Split video_subr.h into its separate components so that they can live in the right places, rather than placing the definitions
from lots of different C files into a single header.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@696 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 20:10:01 +00:00
Mark Cave-Ayland
1dbe55b8e4 Move the basic OpenBIOS configuration header files from include/openbios to include/.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@695 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 17:19:58 +00:00
Mark Cave-Ayland
02896c11fd Move the a.out, ELF and XCOFF header files down into include/arch/common.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@694 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 17:06:20 +00:00
Mark Cave-Ayland
f84dd73af4 Fix the sys_info.h header file so it doesn't reference functions both inside and outside of libopenbios, and move the firmware
configuration header file to include/arch/common. Following through the code showed that elfnote.c and linuxbios.c were being 
used by sys_info and so these are also renamed to elf_info.c and linuxbios_info.c for clarity.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@693 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 16:09:44 +00:00
Mark Cave-Ayland
da4cc1d0bd Move the driver header files into include/drivers to synchronise with the code directory structure.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@692 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 15:19:41 +00:00
Mark Cave-Ayland
4a2c065e4f Move the libopenbios header files into include/libopenbios to synchronise with the code directory structure.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@691 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 15:05:53 +00:00
Mark Cave-Ayland
9a1c40734c Move the fs header file into include/fs to synchronise with the code directory structure.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@690 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 14:33:32 +00:00
Mark Cave-Ayland
c112720b01 Move the kernel header files into include/kernel to synchronise with the code directory structure.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@689 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 14:21:02 +00:00
Mark Cave-Ayland
259edb2d3b Finish move of architecture-specific header files, with modifications to the header paths as required.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@688 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 13:54:45 +00:00
Mark Cave-Ayland
04a412a7f5 Begin tidying up of header locations as described on the mailing list. Firstly we move all of the architecture-specific header
files from include/$ARCH to include/arch/$ARCH.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@687 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 13:47:44 +00:00
Mark Cave-Ayland
76447ee919 Add missing files from previous refactoring commit and also fix a slight error in libopenbios/build.xml.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@686 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-13 12:44:22 +00:00
Mark Cave-Ayland
dbf16392cc Refactoring of the OpenBIOS source code, as discussed on the mailing list. The primary aim of this process is to try and arrange
the source files into a structure whereby it is easier to find the relationship between a forth package word and its C 
implementation, while also creating a libopenbios library into which more common code from the arch/ tree can eventually be 
moved.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk> 


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@685 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-13 10:58:19 +00:00
Blue Swirl
0d5f749065 Fix Unix target build on PPC host
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@684 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-07 16:36:30 +00:00
Alexander Graf
9724a856d7 PPC: Disable host binary build
On PPC the host binary build always fails for me. Since I guess I'm
the only one actually building OpenBIOS ppc on ppc and I don't really
care that much about debugging Forth code in my Linux environment,
I guess we can just disable building it by default.

Signed-off-by: Alexander Graf <agraf@suse.de>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@683 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-22 18:52:34 +00:00
Alexander Graf
82639976aa PPC: Set Uninorth interrupt numbers to new Qemu values
We changed the uninorth interrupt mapping to better reflect real
hardware. OpenBIOS obviously needs to know about that.

Signed-off-by: Alexander Graf <agraf@suse.de>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@682 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-22 18:52:32 +00:00
Alexander Graf
88679e07e4 PPC: Add U3 based Mac machine
Linux on PPC64 knows only so many chipsets. One of the is the U3. So
we can use that when we're emulating a PPC64 machine, making Linux happy.

Signed-off-by: Alexander Graf <agraf@suse.de>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@681 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-22 18:52:30 +00:00
Alexander Graf
b2036c0313 PPC: Fix interrupt numbers
We changed several interrupt numbers in Qemu to better reflect real
world hardware. Also, since we're now using proper interrupt maps, we
need to make sure we specify interrupts in the way the respective map
requires it.

Signed-off-by: Alexander Graf <agraf@suse.de>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@680 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-22 18:52:28 +00:00
Alexander Graf
81605d775a PPC: Create interrupt map for PCI
There is a draft spec that defines how interrupts are supposed to be mapped
from one bus to another, down to the PIC and CPU interrupt line.

So far we don't implement that spec. But PPC64 Linux requires us to for PCI
devices. So let's create a map here.

Draft: http://playground.sun.com/1275/practice/imap/imap0_9d.pdf

Signed-off-by: Alexander Graf <agraf@suse.de>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@679 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-22 18:52:26 +00:00
Alexander Graf
50d1f0e78e PPC: Get timebase and clock speed from fw_cfg
When running on Qemu (TCG) time goes by at a constant frequency which
accidently happens to match with Linux's fallback value.

As soon as we go to KVM, the time base suddenly starts going as fast as
the host CPU's time base. So we need to make sure Linux knows about
it, so it can do its timekeeping properly.

Signed-off-by: Alexander Graf <agraf@suse.de>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@678 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-22 18:52:25 +00:00
Alexander Graf
63e7a89932 PPC: Increase instruction cache size
A real 970FX has more icache, so we should reflect that.

Signed-off-by: Alexander Graf <agraf@suse.de>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@677 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-22 18:52:23 +00:00
Blue Swirl
37f12143ba Add "reg" property to kb_ps2, fix device_type
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@676 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-07 20:25:32 +00:00
Blue Swirl
a20a8cc176 Fix wrong device_type for non-PCI bridge devices, like EBUS
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@675 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-07 20:25:30 +00:00
Igor V. Kovalenko
91857d3a8c pathres: consistently encode unit address on 64bit target
This change fixes node unit address matching on arch
where cell is not 4 byte integer (tested with sparc64.)

Since we encode "reg" property chunks with encode-int
we need to use the same encoding while preparing unit
phys addr for comparison at path resolution time.

- (exact-match): calculate phys addr length using 4 byte
  member encoding with /l* not cells

- find-child: encode phys addr components similar to
  encode-int with 4 byte stores

Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@674 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-03 17:54:14 +00:00
Blue Swirl
305168fb73 sparc64: implement reset
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@673 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-31 12:16:46 +00:00
Blue Swirl
dec920ff08 Sparc64: Add interrupt properties to Sabre
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@672 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-30 20:58:40 +00:00
Blue Swirl
bdf1f6ce72 QEMU changed PCI/IO port byte swapping, adapt OpenBIOS to new way
This requires an updated QEMU.

Also use little endian access ASIs.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@671 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-29 18:46:38 +00:00
Blue Swirl
dc3b5cc5f2 Sparc64: more generic method for display and keyboard selection
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@669 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-24 13:38:28 +00:00
Blue Swirl
01e48a6f39 Sparc64: fix native Unix version build
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@668 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-23 14:43:02 +00:00
Blue Swirl
b135ff9ead Sparc64: use correct PCI probe mechanism
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@667 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-22 18:50:54 +00:00
Blue Swirl
9e7cb441f2 ESP: fix breakage by r667, status getting erased by interrupt register read
Reading the interrupt status register clears also status register, therefore
the interrupt status must be read only after reading the status.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@666 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-16 10:35:58 +00:00
Blue Swirl
d3aebe27d3 ESP: fix spurious guest interrupts during boot
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@665 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-16 08:47:39 +00:00
Blue Swirl
2478d67d9e Sparc64: fix Sabre properties
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@664 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-10 18:26:34 +00:00
Blue Swirl
a40a92653f Sparc64: use firmware configuration device for command line storage
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@663 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-09 21:28:28 +00:00
Blue Swirl
592138f390 Sparc64: clear timer interrupt disable bit (NPT bit when reading tick)
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@662 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-05 20:49:50 +00:00
Blue Swirl
0b0411515c Make auto-boot default again
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@661 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-03 08:58:56 +00:00
Blue Swirl
fdf932f477 Fix non-Sparc64 architecture breakage by r657
Build broke with:
  GEN   openbios.dict
 undefined word.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@660 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-03 08:58:55 +00:00
Mark Cave-Ayland
83425bf953 Add Fcode as a suitable executable payload for init-program.
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@659 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-03 03:44:01 +00:00
Mark Cave-Ayland
567e51cb1d Include the /packages/elf-loader module for SPARC64 which is required by the Fcode contained within the Milax ramdisk.
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@658 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-02 12:49:30 +00:00
Mark Cave-Ayland
301d419d4c Add Stefan's hack for load-base to allow it to be referenced as a value from within Fcode bootloaders such as Milax.
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@657 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-02 12:43:59 +00:00
Mark Cave-Ayland
8c7efc5939 Add load-base NVRAM variable for SPARC64.
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@656 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-01 18:21:18 +00:00
Mark Cave-Ayland
46f2ccaf6d Change the new-device word so that subsequent words within a new device are added to the public wordlist and not
the private wordlist by default. This is required for executing Milax Fcode which defines package words which need to be externally 
visible.

As a consequence, it is now possible to remove lots of "external" words used building the device tree since this is now the 
default.


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@655 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-01 18:17:15 +00:00
Blue Swirl
4d0214e2bf Sparc64: fix Linux error about inconsistent console also for serial console
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@654 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-30 10:54:52 +00:00
Blue Swirl
f5dbe735cd Sparc64: fix Linux error about inconsistent console
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@653 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-30 09:49:40 +00:00
Blue Swirl
e979d432cc Map VGA buffer at client accessible location (Igor Kovalenko)
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@652 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-30 09:49:38 +00:00
Igor V. Kovalenko
c0b4bb8002 sparc64: claim memory mapped by startup code
- claim both physical and virtual address ranges
  while walking boot memory mappings

Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@651 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-29 17:36:05 +00:00
Blue Swirl
8fde0b100a Postpone mapping of the memory
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@650 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-29 17:36:03 +00:00
Blue Swirl
9b72f2cd0a Fix a typo
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@649 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-28 10:24:32 +00:00
Blue Swirl
2b5a61fc6c Map VGA buffer only during PCI probe
Also pass physical addresses instead of bus addresses to VGA init.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@648 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-28 10:15:33 +00:00
Alexander Graf
5e50d351e8 I accidently set props[0] twice instead of going through both elements.
Signed-off-by: Alexander Graf <agraf@suse.de>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@647 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-21 09:57:53 +00:00
Alexander Graf
181acb9043 When running qemu in -M mac99 mode, interrupts failed on me all the
time.

I finally managed to track things down and it seems like we're missing 
some properties in several devices.

While at it, I also bumped the ESCC IRQs to 0x24 / 0x25, as that's what 
qemu now maps them on.

This patch (plus the qemu set) gets PPC64 Linux booting with 
console=ttyPZ0.

Signed-off-by: Alexander Graf <agraf@suse.de>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@646 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-18 23:38:08 +00:00