qemu-patch-raspberry4/hw/ppc
Alexander Graf b981289c49 PPC: Cuda: Use cuda timer to expose tbfreq to guest
Mac OS X calibrates a number of frequencies on bootup based on reading
tb values on bootup and comparing them to via cuda timer values.

The only variable we can really steer well (thanks to KVM) is the cuda
frequency. So let's use that one to fake Mac OS X into believing the
bus frequency is tbfreq * 4. That way Mac OS X will automatically
calculate the correct timebase frequency.

With this patch and the patch set I posted earlier I can successfully
run Mac OS X 10.2, 10.3 and 10.4 guests with -M mac99 on TCG and KVM.

Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-09-08 12:50:52 +02:00
..
e500-ccsr.h ppc: do not use ../ in include files 2013-03-01 13:57:33 +01:00
e500.c ppc: convert g_new(qemu_irq usages to g_new0 2014-08-15 18:54:50 +04:00
e500.h machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
e500plat.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
mac.h PPC: Cuda: Use cuda timer to expose tbfreq to guest 2014-09-08 12:50:52 +02:00
mac_newworld.c PPC: Cuda: Use cuda timer to expose tbfreq to guest 2014-09-08 12:50:52 +02:00
mac_oldworld.c PPC: Cuda: Use cuda timer to expose tbfreq to guest 2014-09-08 12:50:52 +02:00
Makefile.objs spapr_pci_vfio: Add spapr-pci-vfio-host-bridge to support vfio 2014-06-27 13:48:23 +02:00
mpc8544_guts.c cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
mpc8544ds.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
ppc.c spapr: Add support for time base offset migration 2014-06-16 13:24:35 +02:00
ppc4xx_devs.c SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
ppc4xx_pci.c savevm: Remove all the unneeded version_minimum_id_old (ppc) 2014-06-16 04:55:26 +02:00
ppc405.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
ppc405_boards.c ppc: fix -mem-path failure 2014-07-22 17:37:25 +02:00
ppc405_uc.c ppc: fix -mem-path failure 2014-07-22 17:37:25 +02:00
ppc440_bamboo.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
ppc_booke.c hw/ppc: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
ppce500_spin.c ppce500_spin: Initialize struct properly 2014-04-08 11:20:05 +02:00
prep.c ppc: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2014-07-15 16:11:58 +02:00
spapr.c ppc/spapr: Fix MAX_CPUS to 255 2014-09-08 12:50:49 +02:00
spapr_events.c spapr: Move interrupt allocator to xics 2014-06-27 13:48:26 +02:00
spapr_hcall.c hw/ppc/spapr_hcall.c: Fix typo in function names 2014-09-08 12:50:47 +02:00
spapr_iommu.c sPAPR/IOMMU: Fix TCE entry permission 2014-07-15 16:11:59 +02:00
spapr_pci.c spapr_pci: Use XICS interrupt allocator and do not cache interrupts in PHB 2014-06-27 13:48:27 +02:00
spapr_pci_vfio.c spapr_pci_vfio: Add spapr-pci-vfio-host-bridge to support vfio 2014-06-27 13:48:23 +02:00
spapr_rtas.c ppc: spapr-rtas - implement os-term rtas call 2014-09-08 12:50:45 +02:00
spapr_vio.c spapr: Move interrupt allocator to xics 2014-06-27 13:48:26 +02:00
virtex_ml507.c ppc: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2014-07-15 16:11:58 +02:00