qemu/hw/misc
Mark Cave-Ayland d6c666ad81 cuda: decrease time delay before raising VIA SR interrupt and remove fast path
In order to handle a race condition in the MacOS 9 CUDA driver, a
delay was introduced when raising the VIA SR interrupt inspired by
similar code in MacOnLinux.

During original testing of the MacOS 9 patches it was found that the
30us delay used in MacOnLinux did not work reliably within QEMU, and a
value of 300us was required to function correctly.

Recent experiments have shown two things: firstly when booting Linux,
MacOS 9 and MacOS X the fast path which bypasses the delay is never
triggered once the OS kernel is loaded making it effectively
useless. Rather than leave this code in place where a guest could
potentially enable it by accident and break itself, we might as well
just remove it.

Secondly the previous reliability issues are no longer present, and
this value can be reduced down to 20us with no apparent ill
effects. This has the benefit of considerably improving the
responsiveness of the ADB keyboard and mouse within the guest.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-02-17 21:54:02 +11:00
..
macio cuda: decrease time delay before raising VIA SR interrupt and remove fast path 2019-02-17 21:54:02 +11:00
a9scu.c arm: Clean up includes 2016-01-29 15:07:23 +00:00
applesmc.c Convert single line fprintf(.../n) to warn_report() 2017-09-19 14:09:34 +02:00
arm11scu.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
arm_integrator_debug.c hw: Do not include "exec/address-spaces.h" if it is not necessary 2018-06-01 14:15:10 +02:00
arm_l2x0.c hw/misc: QOM'ify arm_l2x0.c 2016-06-14 15:59:14 +01:00
arm_sysctl.c shutdown: Add source information to SHUTDOWN and RESET 2017-05-23 13:28:17 +02:00
armsse-cpuid.c hw/misc/armsse-cpuid: Implement SSE-200 CPU_IDENTITY register block 2019-02-01 14:55:43 +00:00
aspeed_scu.c aspeed: Implement write-1-{set, clear} for AST2500 strapping 2018-07-16 17:18:41 +01:00
aspeed_sdmc.c aspeed: add a max_ram_size property to the memory controller 2018-08-16 14:29:58 +01:00
auxbus.c hw/display/xlnx_dp: Move problematic code from instance_init to realize 2018-07-17 13:12:49 +01:00
bcm2835_mbox.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
bcm2835_property.c hw/display/bcm2835_fb: Validate config settings 2018-08-24 13:17:50 +01:00
bcm2835_rng.c bcm2835_rng: Use qcrypto_random_bytes() rather than rand() 2017-02-28 12:08:14 +00:00
cbus.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
debugexit.c hw: debugexit: add read callback 2018-10-02 19:09:03 +02:00
eccmemctl.c hw/misc: QOM'ify eccmemctl.c 2017-06-02 05:54:43 +01:00
edu.c hw: edu: set category of the edu device 2019-01-30 10:16:00 +01:00
exynos4210_clk.c hw/arm/exynos: Fix Linux kernel division by zero for PLLs 2017-02-28 12:08:20 +00:00
exynos4210_pmu.c hw/misc/exynos4210_pmu: Add support for system poweroff 2017-06-13 14:56:58 +01:00
exynos4210_rng.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
imx2_wdt.c i.MX: Add code to emulate i.MX2 watchdog IP block 2018-02-09 10:40:29 +00:00
imx6_ccm.c Remove empty statements 2017-12-18 17:07:02 +03:00
imx6_src.c hw/misc/imx6_src: Don't crash trying to reset missing CPUs 2017-03-14 16:13:22 +00:00
imx6ul_ccm.c i.MX6UL: Add i.MX6UL specific CCM device 2018-08-16 14:05:28 +01:00
imx7_ccm.c i.MX: Add code to emulate i.MX7 CCM, PMU and ANALOG IP blocks 2018-02-09 10:40:29 +00:00
imx7_gpr.c i.MX: Add implementation of i.MX7 GPR IP block 2018-02-09 10:40:30 +00:00
imx7_snvs.c i.MX: Add code to emulate i.MX7 SNVS IP-block 2018-02-09 10:40:30 +00:00
imx25_ccm.c imx: Use 'const char', not 'char const' 2016-09-22 18:13:09 +01:00
imx31_ccm.c imx: Use 'const char', not 'char const' 2016-09-22 18:13:09 +01:00
imx_ccm.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
iotkit-secctl.c hw/misc/iotkit-secctl: Support 4 internal MPCs 2019-02-01 14:55:42 +00:00
iotkit-sysctl.c hw/misc/iotkit-sysctl: Implement IoTKit system control element 2018-08-24 13:17:42 +01:00
iotkit-sysinfo.c iotkit-sysinfo: Make SYS_VERSION and SYS_CONFIG configurable 2019-02-01 14:55:42 +00:00
ivshmem.c hw/misc/ivshmem: Remove deprecated "ivshmem" legacy device 2019-01-14 19:31:04 -05:00
Makefile.objs hw/misc/armsse-cpuid: Implement SSE-200 CPU_IDENTITY register block 2019-02-01 14:55:43 +00:00
max111x.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
milkymist-hpdmc.c milkymist-hpdmc: Convert sysbus init function to realize function 2018-12-13 13:47:59 +00:00
milkymist-pfpu.c milkymist-pfpu: Convert sysbus init function to realize function 2018-12-13 13:47:59 +00:00
mips_cmgcr.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
mips_cpc.c hw/mips_cpc: kick a VP when putting it into Run statewq 2019-02-14 17:47:28 +01:00
mips_itu.c target/mips: Update ITU to handle bus errors 2019-01-18 16:53:28 +01:00
mos6522.c mos6522: expose mos6522_update_irq() through MOS6522DeviceClass 2018-06-16 16:32:33 +10:00
mps2-fpgaio.c hw/misc/mps2-fpgaio: Implement PSCNTR and COUNTER 2018-08-24 13:17:40 +01:00
mps2-scc.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
msf2-sysreg.c msf2: Microsemi Smartfusion2 System Register block 2017-09-21 16:36:56 +01:00
mst_fpga.c hw/misc: QOM'ify mst_fpga.c 2016-06-14 15:59:14 +01:00
nrf51_rng.c hw/misc/nrf51_rng: Add NRF51 random number generator peripheral 2019-01-07 15:23:47 +00:00
omap_clk.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
omap_gpmc.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
omap_l4.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
omap_sdrc.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
omap_tap.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
pc-testdev.c pc-testdev: use HTTPS git URL 2018-11-12 11:26:02 +00:00
pca9552.c misc: add pca9552 LED blinker model 2018-06-08 13:15:32 +01:00
pci-testdev.c pci-testdev: add optional memory bar 2018-11-05 13:24:02 -05:00
puv3_pm.c puv3_pm.c: Convert sysbus init function to realize function 2018-12-13 13:48:00 +00:00
pvpanic.c check: Only test pvpanic when it is compiled in 2018-08-21 19:52:16 +02:00
sga.c hw/misc/sga: Use the correct ISA include 2018-06-01 14:15:10 +02:00
slavio_misc.c hw/misc: QOM'ify slavio_misc.c 2017-06-02 05:54:43 +01:00
stm32f2xx_syscfg.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
tmp105.c misc: Avoid UTF-8 in error messages 2018-12-11 18:28:46 +01:00
tmp105.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
tmp421.c misc: Avoid UTF-8 in error messages 2018-12-11 18:28:46 +01:00
trace-events hw/misc/armsse-cpuid: Implement SSE-200 CPU_IDENTITY register block 2019-02-01 14:55:43 +00:00
tz-mpc.c hw/misc/tz-mpc: Fix value of BLK_MAX register 2019-01-07 15:23:48 +00:00
tz-msc.c hw/misc/tz-msc: Model TrustZone Master Security Controller 2018-08-24 13:17:43 +01:00
tz-ppc.c hw/misc/tz-ppc: Model TrustZone peripheral protection controller 2018-03-02 11:03:45 +00:00
unimp.c hw/misc/unimp: Move struct to header file 2018-03-02 11:03:45 +00:00
vmcoreinfo.c fw_cfg: import & use linux/qemu_fw_cfg.h 2018-08-23 18:46:25 +02:00
zynq_slcr.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
zynq-xadc.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00