MIPS/SPARC patches queue
- target/mips: Handle lock_user failure in UHI_plog semihosting (Peter Maydell) - hw/mips/malta: Turn off x86 specific features of PIIX4 PM (Igor Mammedov) - hw/misc/grlib_ahb_apb_pnp: Support 8 and 16 bit accesses (Peter Maydell) -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmLxjkMACgkQ4+MsLN6t wN4DhQ/+L/lcVmz/hoIDsjyqMBpBYMYEftlytyuXUDqp9+1CGQpXXzf6cmXwiMK5 DDP/q0PR508tevljDuc7A01ThkN5Vx8FcEpCaD54AjZ5n0BxSLl0Yw9Leftq8doD Nk0YonVEY1tNXYV/KGWsiA7Xhkm3pL66Jzc0fyotNhzsI/dGxTVO9vLTgLl4/Hxv iMj0AxPIOrKEsom61k6QKLgE5ZC3yIPZb+6upSwrQfx6oMtIac5NofEjNCuR0Uy5 PgM6ZJKAM376JlP4hdJ91K04Wg8ql+ze/x2jpjbR0S3QRz4TbH57hJ00nNRLxDep 5hHE7FIg6xf7sJv8ukwLK31zOiT46Azkr1wG97mZ7NyxxT7VTXtKgje6IENLGCgy sCMWIEnrOh03seMShaCRqPcguYUR+XaMc+Hpv9XCu3ZvniI2CUpmVlm8M0t3hqVK XCMwSsXJZ2w4522lUAJio2a10dsHJDg8U81n1KozTRUEZ8QBVlkqNLAIsROKl1Fr LMsv9408nQLkAhYCBeZArw8ayITLTPqlE/S7fiLwwa6e8lPpkMyz/RlN16QsCSHr zQO0iwY4kldn7QekKPTMQE73sW5ziBIOe7P6F5jtexbeaY0vJ5ph8Kfrq6hUVuqN ieQVSi4psz43fpIjNodTk0nnsqAJXZ/7vy0sS38DvwQjBZojWIk= =RIZd -----END PGP SIGNATURE----- Merge tag 'mips-20220809' of https://github.com/philmd/qemu into staging MIPS/SPARC patches queue - target/mips: Handle lock_user failure in UHI_plog semihosting (Peter Maydell) - hw/mips/malta: Turn off x86 specific features of PIIX4 PM (Igor Mammedov) - hw/misc/grlib_ahb_apb_pnp: Support 8 and 16 bit accesses (Peter Maydell) # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmLxjkMACgkQ4+MsLN6t # wN4DhQ/+L/lcVmz/hoIDsjyqMBpBYMYEftlytyuXUDqp9+1CGQpXXzf6cmXwiMK5 # DDP/q0PR508tevljDuc7A01ThkN5Vx8FcEpCaD54AjZ5n0BxSLl0Yw9Leftq8doD # Nk0YonVEY1tNXYV/KGWsiA7Xhkm3pL66Jzc0fyotNhzsI/dGxTVO9vLTgLl4/Hxv # iMj0AxPIOrKEsom61k6QKLgE5ZC3yIPZb+6upSwrQfx6oMtIac5NofEjNCuR0Uy5 # PgM6ZJKAM376JlP4hdJ91K04Wg8ql+ze/x2jpjbR0S3QRz4TbH57hJ00nNRLxDep # 5hHE7FIg6xf7sJv8ukwLK31zOiT46Azkr1wG97mZ7NyxxT7VTXtKgje6IENLGCgy # sCMWIEnrOh03seMShaCRqPcguYUR+XaMc+Hpv9XCu3ZvniI2CUpmVlm8M0t3hqVK # XCMwSsXJZ2w4522lUAJio2a10dsHJDg8U81n1KozTRUEZ8QBVlkqNLAIsROKl1Fr # LMsv9408nQLkAhYCBeZArw8ayITLTPqlE/S7fiLwwa6e8lPpkMyz/RlN16QsCSHr # zQO0iwY4kldn7QekKPTMQE73sW5ziBIOe7P6F5jtexbeaY0vJ5ph8Kfrq6hUVuqN # ieQVSi4psz43fpIjNodTk0nnsqAJXZ/7vy0sS38DvwQjBZojWIk= # =RIZd # -----END PGP SIGNATURE----- # gpg: Signature made Mon 08 Aug 2022 03:29:23 PM PDT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full] * tag 'mips-20220809' of https://github.com/philmd/qemu: hw/misc/grlib_ahb_apb_pnp: Support 8 and 16 bit accesses hw/mips/malta: turn off x86 specific features of PIIX4_PM target/mips: Handle lock_user() failure in UHI_plog semihosting call Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
7b06148df8
@ -1442,6 +1442,14 @@ static const TypeInfo mips_malta_device = {
|
||||
.instance_init = mips_malta_instance_init,
|
||||
};
|
||||
|
||||
GlobalProperty malta_compat[] = {
|
||||
{ "PIIX4_PM", "memory-hotplug-support", "off" },
|
||||
{ "PIIX4_PM", "acpi-pci-hotplug-with-bridge-support", "off" },
|
||||
{ "PIIX4_PM", "acpi-root-pci-hotplug", "off" },
|
||||
{ "PIIX4_PM", "x-not-migrate-acpi-index", "true" },
|
||||
};
|
||||
const size_t malta_compat_len = G_N_ELEMENTS(malta_compat);
|
||||
|
||||
static void mips_malta_machine_init(MachineClass *mc)
|
||||
{
|
||||
mc->desc = "MIPS Malta Core LV";
|
||||
@ -1455,6 +1463,7 @@ static void mips_malta_machine_init(MachineClass *mc)
|
||||
mc->default_cpu_type = MIPS_CPU_TYPE_NAME("24Kf");
|
||||
#endif
|
||||
mc->default_ram_id = "mips_malta.ram";
|
||||
compat_props_add(mc->compat_props, malta_compat, malta_compat_len);
|
||||
}
|
||||
|
||||
DEFINE_MACHINE("malta", mips_malta_machine_init)
|
||||
|
@ -136,7 +136,8 @@ static uint64_t grlib_ahb_pnp_read(void *opaque, hwaddr offset, unsigned size)
|
||||
uint32_t val;
|
||||
|
||||
val = ahb_pnp->regs[offset >> 2];
|
||||
trace_grlib_ahb_pnp_read(offset, val);
|
||||
val = extract32(val, (4 - (offset & 3) - size) * 8, size * 8);
|
||||
trace_grlib_ahb_pnp_read(offset, size, val);
|
||||
|
||||
return val;
|
||||
}
|
||||
@ -152,7 +153,7 @@ static const MemoryRegionOps grlib_ahb_pnp_ops = {
|
||||
.write = grlib_ahb_pnp_write,
|
||||
.endianness = DEVICE_BIG_ENDIAN,
|
||||
.impl = {
|
||||
.min_access_size = 4,
|
||||
.min_access_size = 1,
|
||||
.max_access_size = 4,
|
||||
},
|
||||
};
|
||||
@ -247,7 +248,8 @@ static uint64_t grlib_apb_pnp_read(void *opaque, hwaddr offset, unsigned size)
|
||||
uint32_t val;
|
||||
|
||||
val = apb_pnp->regs[offset >> 2];
|
||||
trace_grlib_apb_pnp_read(offset, val);
|
||||
val = extract32(val, (4 - (offset & 3) - size) * 8, size * 8);
|
||||
trace_grlib_apb_pnp_read(offset, size, val);
|
||||
|
||||
return val;
|
||||
}
|
||||
@ -263,7 +265,7 @@ static const MemoryRegionOps grlib_apb_pnp_ops = {
|
||||
.write = grlib_apb_pnp_write,
|
||||
.endianness = DEVICE_BIG_ENDIAN,
|
||||
.impl = {
|
||||
.min_access_size = 4,
|
||||
.min_access_size = 1,
|
||||
.max_access_size = 4,
|
||||
},
|
||||
};
|
||||
|
@ -247,8 +247,8 @@ via1_adb_poll(uint8_t data, const char *vadbint, int status, int index, int size
|
||||
via1_auxmode(int mode) "setting auxmode to %d"
|
||||
|
||||
# grlib_ahb_apb_pnp.c
|
||||
grlib_ahb_pnp_read(uint64_t addr, uint32_t value) "AHB PnP read addr:0x%03"PRIx64" data:0x%08x"
|
||||
grlib_apb_pnp_read(uint64_t addr, uint32_t value) "APB PnP read addr:0x%03"PRIx64" data:0x%08x"
|
||||
grlib_ahb_pnp_read(uint64_t addr, unsigned size, uint32_t value) "AHB PnP read addr:0x%03"PRIx64" size:%u data:0x%08x"
|
||||
grlib_apb_pnp_read(uint64_t addr, unsigned size, uint32_t value) "APB PnP read addr:0x%03"PRIx64" size:%u data:0x%08x"
|
||||
|
||||
# led.c
|
||||
led_set_intensity(const char *color, const char *desc, uint8_t intensity_percent) "LED desc:'%s' color:%s intensity: %u%%"
|
||||
|
@ -321,6 +321,9 @@ void mips_semihosting(CPUMIPSState *env)
|
||||
if (use_gdb_syscalls()) {
|
||||
addr = gpr[29] - str->len;
|
||||
p = lock_user(VERIFY_WRITE, addr, str->len, 0);
|
||||
if (!p) {
|
||||
report_fault(env);
|
||||
}
|
||||
memcpy(p, str->str, str->len);
|
||||
unlock_user(p, addr, str->len);
|
||||
semihost_sys_write(cs, uhi_cb, 2, addr, str->len);
|
||||
|
Loading…
Reference in New Issue
Block a user