aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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>
2024-01-18parisc: Do not check layers in PDC_MEM_MAP_HPAHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Enable build of 64-bit firmware code to out-64/hppa-firmware64.imgHelge Deller2-4/+5
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18output: Allow to simply switch to Qemu's builtin_console_out() for debuggingHelge Deller1-0/+5
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Mark machine 64-bit capable if 64-bit CPU is foundHelge Deller1-1/+4
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Optimize cache definitionHelge Deller1-4/+4
Make sure loop values are not zero, otherwise loops may not finish. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Adjust firmware to receive 64-bit values in PDC functionsHelge Deller1-71/+85
Convert the code to get 64-bit (unsigned long) values in the various PDC functions. Output format strings need to change from %x to %lx. Make functions which don't need to copy 64-bit return buffers back to 32-bit callers with NO_COMPAT_RETURN_VALUE(). Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18head: Prepare code to build 64-bit firmwareHelge Deller2-55/+267
Adjust for bigger pdc and iodc entry points too. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18head: Install and use firmware fault handlerHelge Deller1-2/+24
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18head: Add load32_sign_extend() and load32_firmware() macrosHelge Deller1-0/+15
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Add start_kernel() functionHelge Deller2-9/+21
On 64-bit kernels avoid using the PLT and implement an own start_kernel() function which jumps to the address given in the 5th parameter. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Add firmware_fault_handler()Helge Deller1-0/+8
Used to print faults/traps which may happen at Firmware start. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Use is_64bit_PDC() and F_EXTEND() to prepare for 64-bit buildHelge Deller1-32/+44
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Add F_EXTEND() and ROM_EXTEND() helper macrosHelge Deller1-1/+17
They are used to translate 32-bit addresses into I/O and Firmware regions on 64-bit machines. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc: Add various helpers to check for 64-bit PDC and 64-bit CPUHelge Deller1-5/+16
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18output/printhex: Allow to print 64-bit hex value on 64-bit makeHelge Deller1-2/+18
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18util: Fix compiler warning by using proper function definitionHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18parisc/b160l: Mark this as 32-bit machine in inventoryHelge Deller1-1/+1
Add missing flag to show that this is a 32-bit machine. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-18malloc: Take unsigned long as mask to alignHelge Deller2-4/+4
Needed to support 64-bit runtime. Signed-off-by: Helge Deller <deller@gmx.de>