ppc patch queue 2021-07-13
I thought I'd sent the last PR before the 6.1 soft freeze, but unfortunately I need one more. This last minute one puts in a SLOF update, along with a couple of bugfixes. -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAmDs9VgACgkQbDjKyiDZ s5JPHRAApamC4lmoHD9eENznNKPvggAQ10h0OMNEvATyq4boAQ6rZRdAkeBqYAGA 5DF0sWIyRy7/IZUSEcHHlHiw1KQqem3lBUYWQ1L78nt6AphcRQciTeQ73WMIsduA ruFxYlCHxFQ/2wixUWmyCnGyKqFsinrbc9DrAfPFnuf3SMwr0gl4x+V+mwQbcvRZ dn/rR8RXmOnqgX8dsViyftnmijqoyIUSWWPL7jk5WiaRdRcdCd8ly9pmkinPj6IX k+Cgty3DSV0mn9d8zH+tDkqXwU8R/HHY8TWkmLSTtR1nXtbDBIphcmeLQ8j8Eugy SNWxZb3ft2fmfPJICcCYOy0qcPyNekRRkmQhADqtoA4OVAdd5QQmVNXtmAV+jKp7 WX4Ozsbt4P1FXSuvhzyOTIumNsz9NxgtuGmnEl09suJ2WdzN4XOI1SzC9/JzPM/s K/0dalIQf9NymyWQMpbVUFcPiAqGr+yuHXy5FZssTa/lgD76Odds5EVFmua95HMl J1XRMRYmsKzRq/TCOZFr72cCzGOixzYY/Oe/yoa48oPX5HMchCsm5h5ljgqKgTh2 R7uAHmqNvsvJ0PuH9DWCPEMGr0f1f16m4ayIELysyvd1geSL/SQ9nuT/phaqmUKO Myo0unIcuJbagf9JwG19j9fVp1dpNee/AhR38jlaNgMNX2sXI5M= =i+2e -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/dg-gitlab/tags/ppc-for-6.1-20210713' into staging ppc patch queue 2021-07-13 I thought I'd sent the last PR before the 6.1 soft freeze, but unfortunately I need one more. This last minute one puts in a SLOF update, along with a couple of bugfixes. # gpg: Signature made Tue 13 Jul 2021 03:07:20 BST # gpg: using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full] # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full] # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full] # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown] # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dg-gitlab/tags/ppc-for-6.1-20210713: mv64361: Remove extra break from a switch case pseries: Update SLOF firmware image ppc/pegasos2: Allow setprop in VOF Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
c650243492
|
@ -687,7 +687,6 @@ static void mv64361_write(void *opaque, hwaddr addr, uint64_t val,
|
||||||
case MV64340_PCI_1_IO_BASE_ADDR:
|
case MV64340_PCI_1_IO_BASE_ADDR:
|
||||||
s->pci[1].io_base = val & 0x30fffffULL;
|
s->pci[1].io_base = val & 0x30fffffULL;
|
||||||
warn_swap_bit(val);
|
warn_swap_bit(val);
|
||||||
break;
|
|
||||||
if (!(s->cpu_conf & BIT(27))) {
|
if (!(s->cpu_conf & BIT(27))) {
|
||||||
s->pci[1].remap[4] = (val & 0xffffULL) << 16;
|
s->pci[1].remap[4] = (val & 0xffffULL) << 16;
|
||||||
}
|
}
|
||||||
|
|
|
@ -443,10 +443,17 @@ static target_ulong vhyp_encode_hpt_for_kvm_pr(PPCVirtualHypervisor *vhyp)
|
||||||
return POWERPC_CPU(current_cpu)->env.spr[SPR_SDR1];
|
return POWERPC_CPU(current_cpu)->env.spr[SPR_SDR1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool pegasos2_setprop(MachineState *ms, const char *path,
|
||||||
|
const char *propname, void *val, int vallen)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
static void pegasos2_machine_class_init(ObjectClass *oc, void *data)
|
static void pegasos2_machine_class_init(ObjectClass *oc, void *data)
|
||||||
{
|
{
|
||||||
MachineClass *mc = MACHINE_CLASS(oc);
|
MachineClass *mc = MACHINE_CLASS(oc);
|
||||||
PPCVirtualHypervisorClass *vhc = PPC_VIRTUAL_HYPERVISOR_CLASS(oc);
|
PPCVirtualHypervisorClass *vhc = PPC_VIRTUAL_HYPERVISOR_CLASS(oc);
|
||||||
|
VofMachineIfClass *vmc = VOF_MACHINE_CLASS(oc);
|
||||||
|
|
||||||
mc->desc = "Genesi/bPlan Pegasos II";
|
mc->desc = "Genesi/bPlan Pegasos II";
|
||||||
mc->init = pegasos2_init;
|
mc->init = pegasos2_init;
|
||||||
|
@ -462,6 +469,8 @@ static void pegasos2_machine_class_init(ObjectClass *oc, void *data)
|
||||||
vhc->cpu_exec_enter = vhyp_nop;
|
vhc->cpu_exec_enter = vhyp_nop;
|
||||||
vhc->cpu_exec_exit = vhyp_nop;
|
vhc->cpu_exec_exit = vhyp_nop;
|
||||||
vhc->encode_hpt_for_kvm_pr = vhyp_encode_hpt_for_kvm_pr;
|
vhc->encode_hpt_for_kvm_pr = vhyp_encode_hpt_for_kvm_pr;
|
||||||
|
|
||||||
|
vmc->setprop = pegasos2_setprop;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo pegasos2_machine_info = {
|
static const TypeInfo pegasos2_machine_info = {
|
||||||
|
@ -471,6 +480,7 @@ static const TypeInfo pegasos2_machine_info = {
|
||||||
.instance_size = sizeof(Pegasos2MachineState),
|
.instance_size = sizeof(Pegasos2MachineState),
|
||||||
.interfaces = (InterfaceInfo[]) {
|
.interfaces = (InterfaceInfo[]) {
|
||||||
{ TYPE_PPC_VIRTUAL_HYPERVISOR },
|
{ TYPE_PPC_VIRTUAL_HYPERVISOR },
|
||||||
|
{ TYPE_VOF_MACHINE_IF },
|
||||||
{ }
|
{ }
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
- SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware
|
- SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware
|
||||||
implementation for certain IBM POWER hardware. The sources are at
|
implementation for certain IBM POWER hardware. The sources are at
|
||||||
https://github.com/aik/SLOF, and the image currently in qemu is
|
https://github.com/aik/SLOF, and the image currently in qemu is
|
||||||
built from git tag qemu-slof-20210217.
|
built from git tag qemu-slof-20210711.
|
||||||
|
|
||||||
- VOF (Virtual Open Firmware) is a minimalistic firmware to work with
|
- VOF (Virtual Open Firmware) is a minimalistic firmware to work with
|
||||||
-machine pseries,x-vof=on. When enabled, the firmware acts as a slim shim and
|
-machine pseries,x-vof=on. When enabled, the firmware acts as a slim shim and
|
||||||
|
|
BIN
pc-bios/slof.bin
BIN
pc-bios/slof.bin
Binary file not shown.
|
@ -1 +1 @@
|
||||||
Subproject commit 33a7322de13e9dca4b38851a345a58d37e7a441d
|
Subproject commit dd0dcaa1c1085c159ddab709c7f274b3917be8bd
|
Loading…
Reference in a new issue