aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-04-23parisc: Remove exec flag from hppa-firmware.imgdevel-with-sti64bitHelge Deller1-0/+1
Remove the executable-flag on the generated firmware file. This is necessary otherwise Fedora rpm builder will check for a build-id in the executable. Reported-by: Cole Robinson <crobinso@redhat.com>
2024-04-11Makefile: Change default make target to "parisc"Helge Deller1-1/+2
"parisc" is the default target when using this SeaBIOS-hppa git repository. Change it accordingly, which then allows us to just run "make" instead of "make parisc". Requested-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-10try to get sti rom working on 64-bitHelge Deller6-23/+62
2024-04-02parisc: Build artist / Visualize EG PCI ROMHelge Deller3-3/+245
Build a ROM for Visualize EG PCI. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc/pci: Disable LMMIO_DIRECT0 range during modificationHelge Deller1-1/+4
When modifying the LMMIO directed ranges, disable the range to prevent that hardware (or qemu) reacts to every small modification before all values have been set. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc/sti: Simplify extraction of STI ROMHelge Deller2-4/+17
In follow-up patches we extract the STI ROM out of the HPPA firmware. Adjust functions and memory areas so that the extraction will be possible. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Fix LMMIO detection for PCI cards on Astro/ElroyHelge Deller1-4/+13
PCI graphic cards allocate LMMIO memory. Allow PDC_ADD_VALID to detect thise memory. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Support ENTRY_IO_BOOTOUTSven Schnelle1-1/+2
The hpux bios/firmware flash tool wants to write the ISL AUTO file to hard disc. This prevents starting the flash tool again, and instead boots into hpux at next reboot. Signed-off-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Avoid trashing MPE IPL bootloader stackHelge Deller1-6/+20
The MPE IPL boot loader calls PDC_MODEL when running in narrow mode. The return buffer pointed to by arg2 holds space for eigth 32-bit integers directly followed by the stack used by MPE. So, when pdc_model() writes 32 64-bit integers to arg2, it unintentionally overwrites MPE's call stack. Fix it by limiting returned bytes depending if PDC_MODEL was called in WIDE or NARROW mode. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Allow PDC functions to act if called in narrow modeHelge Deller2-1/+4
Some PDC functions need to know at runtime if they were called in narrow mode. Add infrastructure to hand over this information to parisc_pdc_entry(). The background is, that the MPE IPL boot loader calls PDC_MODEL and provides a very small return buffer, followed in memory by the stack. So, when pdc_model writes 32 x 8 bytes in 64-bit mode, the stack of IPL boot will be trashed. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Drop FUNC_MANY_ARGS parameterHelge Deller1-12/+7
This parameter was intended to make sure that the compiler saves registers on the stack and prevents possible register corruption. But this isn't needed and doesn't help, so just remove it. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Prefer memory-access over io-access of GSP serial portHelge Deller1-5/+24
HP-UX 11.x (64-bit) seems to require memory-mapped serial ports when accessing GSP cards, so change the firmware to pre-map serial ports for memory-accesses. As an example, the rp5470 has this GSP card (Linux output): pci 0000:00:04.0: [103c:128d] type 00 class 0x088000 pci 0000:00:04.1: [103c:1048] type 00 class 0x070002 pci 0000:00:04.1: reg 0x10: [mem 0xffffffff80000000-0xffffffff80000fff] pci 0000:00:04.1: reg 0x14: [io 0x0000-0x003f] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled serial 0000:00:04.1: enabling device (0142 -> 0143) printk: console [ttyS0] disabled 0000:00:04.1: ttyS0 at MMIO 0xffffffff80000000 (irq = 70, base_baud = 115200) is a 16550A printk: console [ttyS0] enabled printk: bootconsole [ttyB0] disabled 0000:00:04.1: ttyS1 at MMIO 0xffffffff80000008 (irq = 70, base_baud = 115200) is a 16450 0000:00:04.1: ttyS2 at MMIO 0xffffffff80000010 (irq = 70, base_baud = 115200) is a 16550A 0000:00:04.1: ttyS3 at MMIO 0xffffffff80000030 (irq = 70, base_baud = 115200) is a 16550A serial 0000:00:04.1: Couldn t register serial port 0, irq 70, type 2, error -28 Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02pcidevice: Use portaddr_t for io port addressesHelge Deller2-3/+3
This is needed on parisc, since parisc uses 32-bit I/O port addressses while Intel uses just 16 bits. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: HP-UX saves number of RAM pages in PAGE0 at 0x33cHelge Deller1-0/+4
This fixes one glitch when trying to start up 64-bit HP-UX 11. Signed-off-by: Helge Deller <deller@gmx.de> Noticed-by: Sven Schnelle <svens@stackframe.org>
2024-04-02parisc: Small optimization in IODC callHelge Deller1-11/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Add PDC_PAT_EVENT firmware callHelge Deller1-5/+30
Add the PAT_EVENT PDC function. Disable PAT for now as the c3k machines do not seem to support PAT. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Implement PDC_MODEL_GET_INSTALL_KERNEL functionHelge Deller1-2/+10
The IPL loader on the HP-UX install CD asks firmware which "kernel/program" it should start. By default HP-UX will load the "INSTALL" program, but on 64-bit machines firmware can instead ask to boot the "WINSTALL" program. Signed-off-by: Helge Deller <deller@gmx.de>
2024-04-02parisc: Clean the "out-64" directory on "make clean"Helge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-08parisc: Fix 64-bit PDC call to not trash %dpHEADmasterHelge Deller1-23/+4
Fixes 64-bit HP-UX IPL boot loader. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-08parisc: Fix hpa_name() to resolve & print PCI deviceHelge Deller1-12/+6
Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-08output: Fix %pP (PCI device) format string output on 64-bit firmwareHelge Deller1-0/+4
Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-08parisc: pdc_add_valid() should allow HPA of graphics cardHelge Deller1-0/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-08parisc: Fix Debug output on 64-bit PDCHelge Deller1-0/+1
Need to F-extend the CPU_HPA to get to I/O port for Debug info. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-08parisc/sti: Fix STI on 64-bit boot console handlerHelge Deller2-6/+8
Allow the firmware boot messages and boot menu to show up on an emulated STI/artist card. The current fixes are functional for booting, but to support STI on 64-bit with Linux later on, additional patches are needed. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-08parisc: USB keyboard not yet functional in boot menuHelge Deller1-1/+3
The USB keyboard will be detected, but USB driver in firmware isn't yet fully fixed to work correctly on parisc's big-endian hardware.... Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-07parisc: SEABIOS_HPPA_VERSION 16Helge Deller1-2/+2
New & enhancements: - Initial 64-bit firmware release - Added fault handler to catch and report firmware bugs - Use Qemu's builtin_console_out() via diag 0x101 - parisc-qemu-install Makefile target to install firmware in qemu - Added -fw_cfg opt/OS64,string=3 option - Machine definition files for 715/64, C8000, J6700 & rp3410 Fixes: - Avoid crash when booting without SCSI controller - Avoid possible crashes while detecting LASI LAN & graphics - Don't check layers in PDC_MEM_MAP_HPA, fixes NetBSD - Ensure cache definition does not trigger endless loops - Mark B160L as 32-bit machine in inventory Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-07parisc: Improve -fw_cfg opt/OS64 optionHelge Deller1-7/+17
Enhance the option to allow user to specify if 32-bit OS, 64-bit OS or both can be installed. The value reflects the PDC_MODEL_OS32(=2) and PDC_MODEL_OS64(=1) PDC values. Enhance the boot menu to show currently configured value. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06parisc: Add some missing NO_COMPAT_RETURN_VALUE()Helge Deller1-0/+6
Annotate a few more PDC calls with NO_COMPAT_RETURN_VALUE() to avoid trashing their ARG2 value on return to caller in compat case. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06parisc: Fix crash in PDC_TOD_WRITE in compat modeHelge Deller1-0/+1
Fix crash when setting the PDC clock and running a 64-bit PDC in 32-bit compat mode: When writing the clock, no return values are returned to the caller as there is no return buffer in ARG2. So this function needs to be marked with NO_COMPAT_RETURN_VALUE(ARG2). Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06parisc: Skip HPMC during bootupHelge Deller1-5/+31
We may trigger HPMCs (= trap #1) while probing various I/O addresses for devices. If suc a HPMC is reported by qemu, simply ignore it and return to the next address behind the caller. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06pciinit: Do not access Dino Flex register on 64-bit firmwareHelge Deller1-0/+3
Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06parisc: Prevent unneeded accesses to not-available devicesHelge Deller1-3/+6
Prevent some HPMCs when trying to check for devices like LASI LAN & graphics. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06serial: Disable serial port detection on 64-bit machinesHelge Deller1-0/+3
The serial ports on 64-bit machines are PCI devices only. Skip searching on typical serial port addresses to avoid HPMCs. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06parisc: Fix initialization of bss on 64-bit firmwareHelge Deller1-2/+2
Make sure to load the 64-bit (f-extended) address of BSS when clearing BSS. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06parisc: Disable debug infoHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-06parisc: Resolve device name with hpa_name() on 64-bit devicesHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-02parisc: Use new qemu debug output function for early bootupHelge Deller1-1/+1
Use the qemu diag(0x101) call to output at early bootup. This allows to show HPMCs at bootup. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-02boot: Clean up output of list of boot devicesHelge Deller1-1/+5
Show the header for available boot devices only if one is found. Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-02parisc: Allow booting without SCSI controllerHelge Deller1-3/+6
When booting qemu with --nodefaults, no SCSI controller will be available. In this case make preparation of mem_boot in PAGE0 non-fatal, as we still can boot kernel and ramdisc as provided on the command line. Reported-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Helge Deller <deller@gmx.de>
2024-02-02parisc: Add -fw_cfg opt/OS64,string=1 optionHelge Deller1-2/+8
This option is only relevant when booting a 64-bit machine and the value defaults to enabled (1). When OS64 is set to 0, the firmware will tell the OS that 64-bit firmware calls are not supported. Effectively, this prevents the OS to install a 64-bit OS (on the 64-bit machine). Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-24parisc: Add initial definition file for HP rp3410 serverHelge Deller1-0/+442
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-24parisc: Add lspci output to J6700Helge Deller1-0/+11
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-24parisc: Add initial definition file for HP J6700 workstationHelge Deller1-0/+320
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-24parisc: Add parisc-qemu-install Makefile targetHelge Deller1-0/+5
copies the 32- and 64-bit firmware into the qemu pc-bios directory. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-24parisc: Fix RTC clock for 64-bit firmwareHelge Deller1-3/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-24parisc: Prevent overflow of PARISC_PDC_ENTRY_ORGHelge Deller2-2/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-19parisc: Update C3700 with original contentHelge Deller1-1/+12
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-19parisc: Include 715/64 as possible supported machineHelge Deller2-39/+36
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-19parisc: Add initial definition file for HP C800 workstationHelge Deller1-0/+501
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-19parisc: Add initial definition file for HP 715/64 machineHelge Deller1-0/+623
Signed-off-by: Helge Deller <deller@gmx.de>