Age | Commit message (Collapse) | Author | Files | Lines |
|
Register a LMMIO range for the internal graphic card.
That allow to boot with STI graphic card (artist) when booting
on a 64-bit machine.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Fixes:
- Fix PDC_CACHE/PDC_CACHE_RET_SPID return value for space
register hashing on 64-bit HP-UX
- Fix IRT table entries to use slot number
- Increase PCI alignment for memory bars to 64k
New PDC functions & general enhancements:
- Allow up to 256 GB RAM on 64-bit machines
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Unknown what it does, but seems similiar to PDC_NVOLATILE.
Called by HP-UX 11 64-bit on C3700 machine, which returns PDC_BAD_PROC.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Do not simply enumerate the slots when walking the PCI
cards, but use the slot number (out of the bdf) to calculate
the irq_devno entry.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Allows better alignment, targetted for serial ports on Dino GSC cards.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
In case space register hashing is enabled, return 0xfe00000 instead of 0xfe0.
Fixes: 8d6b0df62d37 ("parisc: Fix return value of PDC_CACHE/PDC_CACHE_RET_SPID for space id hashing")
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Build the necessary tables for sprocket and PAT machines and
return them to operating system on request.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
New PDC functions & general enhancements:
- Add PDC_MODEL_GET_INSTALL_KERNEL firmware call
- Add PDC_PAT_EVENT firmware call
- Support ENTRY_IO_BOOTOUT
- Prefer memory-access over io-access of GSP serial port
- Disable LMMIO_DIRECT0 range during modification
- Small optimizations in IODC call
Fixes:
- esp-scsi: indicate acceptance of MESSAGE IN phase data
- Avoid crash when booting without SCSI controller
- Remove exec flag from hppa-firmware.img
- Fix LMMIO detection for PCI cards on Astro/Elroy
- Avoid trashing MPE IPL bootloader stack
- HP-UX 11 64-bit saves number of RAM pages in PAGE0 at 0x33c
- Fix return value of PDC_CACHE/PDC_CACHE_RET_SPID for space id hashing
- Allow PDC functions to act when called in narrow mode
- pcidevice: Use portaddr_t for io port addresses
Cleanups:
- Change default make target to "parisc"
- Clean the "out-64" directory on "make clean"
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
When the target has sent its MESSAGE IN phase data to the initiator, it waits
for the initiator to release the ACK signal before disconnecting from the bus.
Send a MSG_ACC command to the ESP so that the initiator releases the ACK signal
to allow the target to disconnect, and also return the ASC back to the
disconnected state.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-ID: <20240829115846.954993-1-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
HP-UX 11 64-bit uses space ID hashing.
If qemu implements the diagnose registers and mfdiag/mtdiag instructions
(qemu > v9.0 required), allow PDC to ask the CPU and return the correct
value of space id hashing bits.
Signed-off-by: Helge Deller <deller@gmx.de>
Suggested-by: Sven Schnelle <svens@stackframe.org>
|
|
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>
|
|
"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>
|
|
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>
|
|
PCI graphic cards allocate LMMIO memory. Allow PDC_ADD_VALID to
accept this memory.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Not sure yet, why HP-UX 11 (64-bit) stores the value here, but it's
needed to allow HP-UX 11 to boot up.
Signed-off-by: Helge Deller <deller@gmx.de>
Noticed-by: Sven Schnelle <svens@stackframe.org>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
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>
|
|
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>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Fixes 64-bit HP-UX IPL boot loader.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Need to F-extend the CPU_HPA to get to I/O port for Debug info.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Prevent some HPMCs when trying to check for devices like LASI LAN &
graphics.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
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>
|
|
Make sure to load the 64-bit (f-extended) address of BSS
when clearing BSS.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
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>
|
|
Show the header for available boot devices only if one is found.
Signed-off-by: Helge Deller <deller@gmx.de>
|
|
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>
|
|
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>
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|