diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-06-01 21:35:14 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-06-01 21:35:14 +0200 |
| commit | 3e4c5a6261770bced301b5e74233e7866166ea5b (patch) | |
| tree | 9379fddaba693ef8a045da06efee8529baa5f6f4 /gitlab/issues_text/target_missing/host_missing/accel_TCG/1503 | |
| parent | e5634e2806195bee44407853c4bf8776f7abfa4f (diff) | |
| download | qemu-analysis-3e4c5a6261770bced301b5e74233e7866166ea5b.tar.gz qemu-analysis-3e4c5a6261770bced301b5e74233e7866166ea5b.zip | |
clean up repository
Diffstat (limited to 'gitlab/issues_text/target_missing/host_missing/accel_TCG/1503')
| -rw-r--r-- | gitlab/issues_text/target_missing/host_missing/accel_TCG/1503 | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/gitlab/issues_text/target_missing/host_missing/accel_TCG/1503 b/gitlab/issues_text/target_missing/host_missing/accel_TCG/1503 deleted file mode 100644 index 8ab7691d5..000000000 --- a/gitlab/issues_text/target_missing/host_missing/accel_TCG/1503 +++ /dev/null @@ -1,50 +0,0 @@ -Writing to readonly memory should call cpu_transaction_failed -Description of problem: -Currently if a guest writes to ROM memory on a system that doesn't have some other form of memory protection enabled, QEMU will silently ignore the write (https://gitlab.com/qemu-project/qemu/-/blob/master/accel/tcg/cputlb.c#L2432). Instead, it should call cpu_transaction_failed (similar to what happens when a MMIO operation fails in `io_writex` and other places). For CPUs that don't care, it'll continue to be ignored, but for other CPUs the user will get a warning (with `-d guest_errors`) or an exception as appropriate. -Steps to reproduce: -N/A -Additional information: -The documentation for do_transaction_failed says: - -``` -@do_transaction_failed: Callback for handling failed memory transactions -(ie bus faults or external aborts; not MMU faults) -``` - -which seems reasonably well suited for this case. Here's an overview of what different CPUs currently do if do_transaction_failed is called: - -alpha_cpu_do_transaction_failed: - -* raises a EXCP_MCHK - -arm_cpu_do_transaction_failed: - -* raises ARMFault_SyncExternal with EXCP_DATA_ABORT - -loongarch_cpu_do_transaction_failed: - -* raises EXCCODE_ADEM - -m68k_cpu_transaction_failed: - -* raises EXCP_ACCESS (M68040 only) - -mb_cpu_transaction_failed: - -* raises EXCP_HW_EXCP with ESR_EC_DATA_BUS - -mips_cpu_do_transaction_failed: - -* raises EXCP_DBE (data bus error) - -riscv_cpu_do_transaction_failed: - -* raises RISCV_EXCP_STORE_AMO_ACCESS_FAULT - -sparc_cpu_do_transaction_failed: - -* raises an MMU fault - -xtensa_cpu_do_transaction_failed - -* raises LOAD_STORE_PIF_ADDR_ERROR_CAUSE |