aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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>
2024-01-18boot: Use void* instead of u32 to store pointersHelge Deller1-11/+11
Needed to support 64-bit build. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-07parisc: SEABIOS_HPPA_VERSION 15seabios-hppa-v15Helge Deller1-2/+2
Fixes and enhancements: - Fix OpenBSD 7.4 boot (PDC_MEM_MAP call returned wrong values) - Minor enhancements to show if a 64-bit SeaBIOS-hppa firmware is used Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-06parisc: Update copyright year to 2024Helge Deller2-3/+3
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-06parisc: Show if 32- or 64-bit SeaBIOS versionHelge Deller1-3/+4
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-06parisc: Fix PDC_MEM_MAP for OpenBSD 7.4Helge Deller1-1/+1
The PDC_MEM_MAP call used find_hppa_device_by_hpa() instead of find_hppa_device_by_path() and as such did not find the device at a given path. This fixes boot of OpenBSD 7.4. Noticed-by: Bruno Haible <bruno@clisp.org> Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: SEABIOS_HPPA_VERSION 14seabios-hppa-v14Helge Deller1-2/+2
Fixes and enhancements: - Fix 32-bit HP-UX crash (fix in PDC_FIND_MODULE call) - Fix NetBSD boot (power button fix and add option to disable it) - Fix FPU detection on NetBSD - Add MEMORY_HPA module on B160L - Fix detection of mptsas and esp scsi controllers - Fix terminate DMA transfer in esp driver (Mark Cave-Ayland) - Allow booting from esp controller - initial fixes to allow building a 64-bit SeaBIOS-hppa firmware Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Enable power button switch and add option to disable itHelge Deller1-2/+7
Due to a mismatch of memory mapping for PA2.0 with PSW.W=0, the power button was broken on 64-bit machines. The mapping bug is now fixed in qemu, so re-enable the button again. Additionally add option to completely disable the power switch with: "-fw_cfg opt/power-button-enable,string=0" Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Fix FPU detection on NetBSDHelge Deller1-5/+5
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc/parisc64: Allow booting 64-bit kernel up into start_pariscHelge Deller3-3/+52
Add minimal code to allow booting up into C-function start_parisc. Console output is not working yet. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Fix 64-bit firmware buildHelge Deller7-47/+116
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04memmap: Fix 64-bit buildHelge Deller1-4/+4
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04ehci: Fix build on 64-bitHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Disable warnings on 64-bit firmware buildHelge Deller1-0/+5
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc/sti: Static pointer initializations not possible on 64-bit buildHelge Deller1-2/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Move x86-only code inside ifdefHelge Deller1-0/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Move x86-only code inside ifdefHelge Deller1-0/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04block/ata: Fixes to allow building 64-bit firmwareHelge Deller3-6/+7
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Prepare for builing a 64-bit firmwareHelge Deller2-8/+7
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc/B160L: fix inw/outw/inl/outl for B160LHelge Deller1-12/+12
This fixes SeaBIOS boot from dc390 SCSI controller on B160L. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04esp-scsi: terminate DMA transfer when ESP data transfer completesMark Cave-Ayland1-0/+2
When the ESP data transfer completes indicated by the STAT_TC flag being set, terminate the DMA transfer by issuing a DMA IDLE command. Otherwise in the case where the guest sends a reset followed by an ESP command, the DMA signal remains enabled and so the next SeaBIOS DMA transfer begins immediately when the next ESP command is received rather than waiting until the data is ready and the DMA command is issued. With this fix it is possible to boot a Windows XP ISO to the installer and complete a full installation within QEMU directly using SeaBIOS. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2024-01-04parisc/b160l: Allow PDC to report back MEMORY_HPA entry on B160LHelge Deller1-10/+6
Tell calling operating system of the memory module. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc/b160l: Revert parts of PDC_FIND_MODULE to fix 32-bit HP-UX bootupHelge Deller2-68/+21
Report back additional addresses as in prior SeaBIOS firmware versions. This fixes 32-bit HP-UX on B160L. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc/scsi: Set default max block size if not set by driverHelge Deller1-1/+4
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc/scsi: Limit max block size to read from disc/cd.Helge Deller1-3/+15
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc/scsi: Add maximum transfer size per SCSI controllerHelge Deller3-0/+3
LSI controller allows up to 4MB transactions per call, the ESP controller only up to 64k per call. Values for other drivers need to be added too. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc/pciinit: Show if a PCI device is 64-bit deviceHelge Deller1-2/+3
Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Fix detection of mptsas and esp scsi driversHelge Deller2-32/+22
Make sure that inl()/outl() works correctly (with little-endian accesses) so that the scsi drivers can be used unchanged. Signed-off-by: Helge Deller <deller@gmx.de>
2024-01-04parisc: Increase PCI mapping space with PARISC_MMIO_LIMITHelge Deller1-1/+1
Increase the limit for which the PCI memory region is mapped into shared memory. This fixes loading of megaraid-sas driver. Signed-off-by: Helge Deller <deller@gmx.de>
2023-11-21parisc: SEABIOS_HPPA_VERSION 13seabios-hppa-v13Helge Deller1-2/+2
Fixes and enhancements: - Fix system reboot Signed-off-by: Helge Deller <deller@gmx.de>
2023-11-21parisc: Fix system rebootHelge Deller1-0/+13
In order to fix the reboot issues, re-initialize PAGE0->mem_cons.hpa to zero to fix console output and set default PCI bus to DINO to not break the following qemu_cfg() call. Reported-by: Bruno Haible <bruno@clisp.org> Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1991 Signed-off-by: Helge Deller <deller@gmx.de>
2023-11-11parisc: SEABIOS_HPPA_VERSION 12seabios-hppa-v12Helge Deller1-2/+2
Fixes and enhancements: - Reduce debug level - Update README file for PA-RISC - Fix debug name of CPU_HPA_xx if xx >= 10 - Disable device indexing Signed-off-by: Helge Deller <deller@gmx.de>
2023-11-11parisc: Fix powerbutton on 64-bit kernelHelge Deller1-2/+13
As long as this is a 32-bit PDC, we can't access a powerbutton in the firmware area when running on a 64-bit CPU. Report that non-supportability when asked by PDC_SOFT_POWER by a 64-bit kernel. Qemu may want to use some address in page zero instead. Signed-off-by: Helge Deller <deller@gmx.de>