On 03/03/26, Helge Deller wrote:
> On 3/2/26 12:56, Anton Johansson via qemu development wrote:
> > This is in line with the PA-8700 specification.
> >
> > As the SeaBIOS functional tests requires a 40 bit physical address space
>
> 44 bit physical address space?
Hmm maybe I'm missing something then, the 44 bit functional tests still
hangs. From what I can tell mapping of the PDC address space results in
physical addresses starting with 0xf00f0xxxxxx for 44 bits, whereas SeaBIOS
uses 0xf0f0xxxxxx, meaning we require 40 bits to work with SeaBIOS from
QEMUs side.
hwaddr hppa_abs_to_phys_pa2_w0(CPUHPPAState *env, vaddr addr)
{
/*
* See Figure H-10, "Absolute Accesses when PSW W-bit is 0",
* combined with Figure H-11, as above.
*/
if (likely(extract32(addr, 28, 4) != 0xf)) {
...
} else if (extract32(addr, 24, 4) != 0) {
...
} else {
/*
* PDC address space:
* Figures H-10 and H-11 of the parisc2.0 spec do not specify
* where to map into the 64-bit PDC address space.
* We map with an offset which equals the 32-bit address, which
* is what can be seen on physical machines too.
*/
addr = (uint32_t)addr;
addr |= -1ull << (hppa_phys_addr_bits(env) - 4);
}
return addr;
}
please let me know if I'm missing something!:)