aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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>
2023-10-31parisc: Fully implement PDC_PSW for 64-bit CPUsHelge Deller2-4/+18
PDC_PSW tells the hardware how the default PSW is implemented. The w field indicates the default width of the processor. The w field also determines whether the External Interrupt Request (EIR) register is treated as a right-justified 32-bit register or a full 64-bit register. The e field indicates the default endianness of the processor. Both bits determine how the PSW W-bit and E-bit will be set on an interruption. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-31parisc: Fix mfctl,w instruction and thus 64-bit detectionHelge Deller1-2/+3
Use the wide version of mfctl to read the %sar register. Only the w-version is able to detect if we run on a 64-bit CPU. Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc: SEABIOS_HPPA_VERSION 10seabios-hppa-v10devel5Helge Deller1-2/+2
Enhancements: - Initial support for 64-bit CPUs with Astro/Elroy (e.g. C3700 workstation) - USB support (OHCI) - better PCI support - esp-scsi fixes from Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/c3700: Add support for C3700 workstation with Astro/ElroyHelge Deller14-261/+1339
Major changes to support 64-bit machines with Astro and Elroy chips. This patch adds support for the C3700 workstation. Changes include: - Detect if the emulated CPU runs as 32-bit PA1.x or 64-bit PA2.x CPU - Add support for Astro and Elroy chips: * build interrupt routing table (IRT) * add PCI irq to pci_device struct - Enhance PCI bus scanning * Add support for various PCI cards (serial, USB, graphics, ...) - Change PCI I/O accessor functions: * readX()/writeX() do byteswapping and take an ioremapped address * __raw_readX()/__raw_writeX() don't byteswap and take an ioremapped address. * gsc_*() don't byteswap and operate on physical addresses Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/malloc: Drop debug outputHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/blockcmd: Drop debug outputHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/kbd: Drop debug outputHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/usb: Fix usb host for big-endian machines (like parisc)Helge Deller2-51/+54
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/serialio: Use portaddr_t type for DebugOutputPortHelge Deller1-1/+2
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/rtc: Drop parisc specific RTC portsHelge Deller1-7/+0
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/ata: Drop parisc specific ISA ATA portsHelge Deller1-8/+0
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/block: Disable debug lineHelge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc/timer: Drop PAGE0 from timer fileHelge Deller1-2/+0
Signed-off-by: Helge Deller <deller@gmx.de>
2023-10-14parisc: add .vimrc editor helper fileHelge Deller1-0/+4
Signed-off-by: Helge Deller <deller@gmx.de>