qemu-e2k/include/hw
David Gibson ee76a09fc7 spapr: Treat Hardware Transactional Memory (HTM) as an optional capability
This adds an spapr capability bit for Hardware Transactional Memory.  It is
enabled by default for pseries-2.11 and earlier machine types. with POWER8
or later CPUs (as it must be, since earlier qemu versions would implicitly
allow it).  However it is disabled by default for the latest pseries-2.12
machine type.

This means that with the latest machine type, HTM will not be available,
regardless of CPU, unless it is explicitly enabled on the command line.
That change is made on the basis that:

 * This way running with -M pseries,accel=tcg will start with whatever cpu
   and will provide the same guest visible model as with accel=kvm.
     - More specifically, this means existing make check tests don't have
       to be modified to use cap-htm=off in order to run with TCG

 * We hope to add a new "HTM without suspend" feature in the not too
   distant future which could work on both POWER8 and POWER9 cpus, and
   could be enabled by default.

 * Best guesses suggest that future POWER cpus may well only support the
   HTM-without-suspend model, not the (frankly, horribly overcomplicated)
   POWER8 style HTM with suspend.

 * Anecdotal evidence suggests problems with HTM being enabled when it
   wasn't wanted are more common than being missing when it was.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Greg Kurz <groug@kaod.org>
2018-01-17 09:35:24 +11:00
..
acpi acpi: Update TPM2 ACPI table to more recent specs 2017-12-22 11:03:21 -05:00
adc
arm imx_fec: Reserve full FSL_IMX25_FEC_SIZE page for the register file 2018-01-11 13:25:38 +00:00
audio audio: Rename hw/audio/audio.h to hw/audio/soundhw.h 2017-05-19 10:48:54 +02:00
block hw/block: Fix the return type 2017-12-19 09:25:28 +00:00
char hw/char/cmsdk-apb-uart.c: Implement CMSDK APB UART 2017-07-17 13:36:08 +01:00
core
cpu hw: remove "qemu/osdep.h" from header files 2017-12-18 17:07:02 +03:00
cris
display hw/display/vga: extract public API from i386/pc to "hw/display/vga.h" 2017-12-18 17:07:02 +03:00
dma
gpio
i2c ppc4xx_i2c: Implement basic I2C functions 2018-01-10 12:52:59 +11:00
i386 Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
ide ide: support reporting of rotation rate 2017-10-12 12:10:37 +02:00
input ps2: add and use PS2State typedef 2017-06-23 11:51:50 +02:00
intc nvic: Make systick banked 2017-12-13 17:59:26 +00:00
ipack
ipmi ipmi: introduce an ipmi_bmc_gen_event() API 2017-04-26 12:41:55 +10:00
isa i8259: generalize statistics into common code 2017-12-21 09:30:32 +01:00
kvm
lm32
m68k
mem qmp: introduce query-memory-size-summary command 2017-09-14 15:52:10 +01:00
mips mips: malta/boston: replace cpu_model with cpu_type 2017-10-27 16:04:28 +02:00
misc hw/misc/pvpanic: extract public API from i386/pc to "hw/misc/pvpanic.h" 2017-12-18 17:07:02 +03:00
net imx_fec: Reserve full FSL_IMX25_FEC_SIZE page for the register file 2018-01-11 13:25:38 +00:00
nvram fw_cfg: add write callback 2017-10-15 05:54:40 +03:00
pci pci: Eliminate pci_find_primary_bus() 2017-12-05 19:13:45 +02:00
pci-host Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
ppc spapr: Treat Hardware Transactional Memory (HTM) as an optional capability 2018-01-17 09:35:24 +11:00
s390x s390x/css: unrestrict cssids 2017-12-14 17:56:54 +01:00
scsi esp: move TYPE_ESP and SysBusESPState from esp.c to esp.h 2017-10-31 17:25:36 +00:00
sd sdhci: add a 'dma' property to the sysbus devices 2018-01-16 13:28:21 +00:00
sh4
smbios smbios: support setting OEM strings table 2017-12-05 19:13:45 +02:00
sparc sun4u_iommu: update to reflect IOMMU is no longer part of the APB device 2018-01-09 21:48:20 +00:00
ssi xilinx_spips: Set all of the reset values 2017-12-13 17:59:26 +00:00
timer hw/timer/mc146818: rename rtc_init() -> mc146818_rtc_init() 2017-12-18 17:07:02 +03:00
tricore
unicore32 hw/unicore32: restrict hw addr defines to source file 2017-12-18 17:07:02 +03:00
usb
vfio memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
virtio virtio-blk: make queue size configurable 2017-12-19 10:25:09 +00:00
watchdog watchdog: wdt_aspeed: Add support for the reset width register 2017-09-04 15:21:54 +01:00
xen pci: Add pci_dev_bus_num() helper 2017-12-05 19:13:45 +02:00
xtensa target/xtensa: import libisa source 2017-12-18 21:26:19 -08:00
boards.h NUMA: Enable adding NUMA node implicitly 2017-11-16 17:46:53 +02:00
bt.h
compat.h hpet: recover timer offset correctly 2018-01-12 13:22:02 +01:00
devices.h sm501: QOMify 2017-04-24 12:32:12 +01:00
elf_ops.h loader: Ignore zero-sized ELF segments 2017-09-04 15:21:53 +01:00
empty_slot.h
fw-path-provider.h
hotplug.h
hw.h migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
ide.h
irq.h
loader-fit.h
loader.h fw_cfg: rename read callback 2017-09-08 16:15:17 +03:00
nmi.h
or-irq.h include/hw/or-irq.h: Drop unused in_irqs field 2017-10-16 21:09:15 +03:00
pcmcia.h
platform-bus.h
ptimer.h include/hw/ptimer.h: Add documentation comments 2017-07-11 17:44:27 +03:00
qdev-core.h qdev: store DeviceState's canonical path to use when unparenting 2017-10-18 10:34:17 +02:00
qdev-dma.h
qdev-properties.h Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
qdev.h
register.h
registerfields.h hw/registerfields: add missing include 2017-12-18 17:07:02 +03:00
stream.h
sysbus.h
usb.h hmp-commands: Remove the deprecated usb_add and usb_del 2017-12-14 10:16:52 +00:00