qemu/hw/ppc
David Gibson 627c2ef789 spapr_drc: Fix potential undefined behaviour
The DRC_INDEX_ID_MASK macro does a left shift on ~0, which is a signed
quantity, and therefore undefined behaviour according to the C spec.  In
particular this causes warnings from the clang sanitizer.

This fixes it by calculating the same mask without using ~0 (I think the
new method is a more common idiom for generating masks anyway).  For good
measure I also use 1ULL to force the expression's type to unsigned long
long, which should be good for assigning to anything we're going to want
to.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2015-09-23 10:51:09 +10:00
..
e500-ccsr.h ppc: do not use ../ in include files 2013-03-01 13:57:33 +01:00
e500.c kvm_ppc: remove kvmppc_timer_hack 2015-09-20 22:48:38 +02:00
e500.h PPC: e500 pci host: Add support for ATMUs 2015-01-07 16:16:24 +01:00
e500plat.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
mac_newworld.c machine: Set MachineClass::name automatically 2015-09-19 16:39:28 +02:00
mac_oldworld.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
mac.h block: Rename BlockDriverAIOCB* to BlockAIOCB* 2014-10-20 13:41:27 +02:00
Makefile.objs spapr_drc: initial implementation of sPAPRDRConnector device 2015-06-03 23:56:52 +02:00
mpc8544_guts.c cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
mpc8544ds.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +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 hw/pci/ppc4xx_pci.c: Remove unused pci4xx_cfgaddr_read/write/ops 2014-11-04 23:26:12 +01:00
ppc405_boards.c Revert use of DEFINE_MACHINE() for registrations of multiple machines 2015-09-19 16:40:27 +02:00
ppc405_uc.c Fix bad error handling after memory_region_init_ram() 2015-09-18 14:39:29 +02:00
ppc405.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
ppc440_bamboo.c kvm_ppc: remove kvmppc_timer_hack 2015-09-20 22:48:38 +02:00
ppc_booke.c hw/ppc: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
ppc.c timer: rename NSEC_PER_SEC due to Mac OS X header clash 2015-07-20 17:01:00 +01:00
ppce500_spin.c Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
prep.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
spapr_drc.c spapr_drc: Fix potential undefined behaviour 2015-09-23 10:51:09 +10:00
spapr_events.c spapr: Merge sPAPREnvironment into sPAPRMachineState 2015-07-07 17:44:50 +02:00
spapr_hcall.c spapr: Remove obsolete ram_limit field from sPAPRMachineState 2015-07-07 17:44:50 +02:00
spapr_iommu.c spapr_iommu: translate sPAPRTCEAccess to IOMMUAccessFlags 2015-07-07 17:44:51 +02:00
spapr_pci_vfio.c sPAPR: Clear stale MSIx table during EEH reset 2015-07-07 17:44:54 +02:00
spapr_pci.c spapr: Make ibm, change-msi respect 3 return values 2015-09-23 10:51:09 +10:00
spapr_rtas.c spapr: SPLPAR Characteristics 2015-09-23 10:51:09 +10:00
spapr_rtc.c timer: rename NSEC_PER_SEC due to Mac OS X header clash 2015-07-20 17:01:00 +01:00
spapr_vio.c spapr: Merge sPAPREnvironment into sPAPRMachineState 2015-07-07 17:44:50 +02:00
spapr.c spapr: add dumpdtb support 2015-09-23 10:51:09 +10:00
virtex_ml507.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00