aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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>
2023-11-11parisc: Fix debug name of CPU_HPA_xx if xx >= 10Helge Deller1-2/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2023-11-06parisc: Disable device indexingHelge Deller1-2/+2
This broke B160L since LASI then disappears. Disable device indexing for both B160L and C3700 for now. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Reduce debug levelHelge Deller1-4/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31README: Update README file for PA-RISCHelge Deller1-11/+5
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: SEABIOS_HPPA_VERSION 11Helge Deller1-2/+2
Fixes and enhancements (mostly to enable 64-bit Linux kernel): - Fixed 64-bit CPU detection via "mfctl,w" instruction - Implement PDC_PSW for 64-bit CPUs - Added PAT PDC functions: - PDC_PAT_CELL - PDC_PAT_CHASSIS_LOG - PDC_PAT_PD_GET_ADDR_MAP - PDC_PAT_CPU - Fix return value of PDC_CACHE_RET_SPID space-id bits - Introduce new default software IDs for the machines - Fix CPU and FPU model numbers - Fix 64-bit SMP rendezvous - Fix Linux 64-bit kernel crash in STI due to usage of unsigned 32-bit "next_font" pointer in sti header files - Fix graphics output to LASI artist card on PA2.0 machines - More USB OHCI endianess fixes - Fixes which make ODE run on B160L - Fixes which make ODE detect Astro Runway port and CPUs - Implement "firmware unlocking" via PDC_MODEL/PDC_MODEL_CAPABILITIES call - Add subfunction 2 for PDC_MODEL_VERSIONS Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add default .config file for pariscHelge Deller2-1/+84
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Avoid compiler warning for handle_16()Helge Deller1-0/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Detect Astro Runway port and CPUsHelge Deller3-24/+134
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc/sti: Fix STI crash with fonts with 64-bit Linux kernelHelge Deller1-0/+45
Just swapping font "next-font" pointers breaks the sti driver on older 64-bit Linux kernels which take the "next_font" pointer as unsigned int (instead of signed int) and thus calculates a wrong font start address. Avoid the crash by sorting the fonts in the STI ROM before the OS starts. A Linux kernel patch to avoid the crash was added in kernel 6.7. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add Astro/Elroy constants for debuggingHelge Deller3-15/+29
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add subfunction 2 for PDC_MODEL_VERSIONSHelge Deller1-0/+5
Is asked by ODE on C3700. Apparently PDC PAT version. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Don't enable PSW.W at pdc exitHelge Deller1-2/+2
This fixes ODE for C3700, which aparently tried to run with PSW.W=1 and failed. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Lock 64-bit PDC calls until PDC_MODEL/PDC_MODEL_CAPABILITIES callHelge Deller1-2/+16
The OS needs to "unlock" the 64-bit functions. This fixes the ODE tool to detect the mapper instead of mapper2 tool. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Use correct CPU and FPU model numbersHelge Deller2-11/+13
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Fix boot path & PDC versionHelge Deller1-7/+9
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add PDC_PAT_CPU functionHelge Deller1-2/+39
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Fix ODE on B160LHelge Deller3-34/+88
Fully implement device tree Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add timer2() wait function to cope with 32-bit timer limitHelge Deller4-7/+54
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: USB OHCI endianess fixesHelge Deller4-18/+21
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Fix graphics output to LASI artist card on PA2.0 machinesHelge Deller3-15/+12
This fixes the graphics output, but keyboard is still on serial only. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Provide MEM_PDC_ENTRY as PDC entry point on SMP rendezvousHelge Deller3-5/+6
Hand over the architected MEM_PDC_ENTRY address (0x4800) instead of the native address of pdc_entry() when providing the PDC entry point in the SMP rendezvous function. This fixes the 64-bit SMP boot, since it avoids the ldil instruction which trashes he upper 32-bits. Secondly, the linux kernel checks the provided value against the PAGE0->mem_pdc value and complains if the differ. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Introduce new sw_id for the machinesHelge Deller3-9/+11
2004000160 for the B160L and 2004003700 for the C3700. Note the decimal numbers after the "2004" which reflects the emulated machine. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Hackish fix to save PSW.W across pdc/iodc callHelge Deller1-4/+8
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add PSW.W handling in iodc_entryHelge Deller1-1/+16
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Support a 32-bit PDC only for now.Helge Deller1-2/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Fix return value of PDC_CACHE_RET_SPID space-id bitsHelge Deller1-3/+2
If SR-hasing is disabled, we need to return zero. Linux checks this and aborts if it's not zero. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Implement PDC_PAT_PD_GET_ADDR_MAPHelge Deller2-2/+18
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: initialize result of pdc_model call prior returnHelge Deller1-0/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add default PSW bit setting to pdc_model structHelge Deller2-1/+6
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Store user-provided software ID in pdc_model fieldHelge Deller1-0/+2
Use user-provided ID for all emulated machines and CPUs. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add initial PDC_PAT_CELL and PDC_PAT_CHASSIS_LOG callsHelge Deller1-5/+46
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Add pdcpat.h for PDC PAT functionsHelge Deller3-3/+395
A minimal set of PDC PAT (PARISC-on-TAHOE, aka 64-bit PDC calls) is needed to support booting a 64-bit PARISC kernel. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Do not allow 64-bit PDC calls (yet)Helge Deller1-2/+2
Need to implement 64-bit register save/restore before enabling this option. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Save and restore current PSW_W across PDC callHelge Deller2-5/+19
When called from a 64-bit kernel, pdc_psw may be called with PSW.W set, so save and restore it during the call. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Better power off message from power buttonHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>