summaryrefslogtreecommitdiffstats
path: root/os-posix.c
diff options
context:
space:
mode:
authorGreg Kurz <gkurz@linux.vnet.ibm.com>2016-02-26 10:44:07 +0100
committerTimothy Pearson <tpearson@raptorengineering.com>2019-11-29 19:46:50 -0600
commit16635ea43a62439e35dacb5f940b6f6377b9c588 (patch)
tree2a4a10b459c0c4835fa44c72b5a8e1a7715e9b8d /os-posix.c
parentca21c6a465ffc10d7d281d8d78dff5740e02620b (diff)
downloadhqemu-16635ea43a62439e35dacb5f940b6f6377b9c588.zip
hqemu-16635ea43a62439e35dacb5f940b6f6377b9c588.tar.gz
xics: report errors with the QEMU Error API
Using the return value to report errors is error prone: - xics_alloc() returns -1 on error but spapr_vio_busdev_realize() errors on 0 - xics_alloc_block() returns the unclear value of ics->offset - 1 on error but both rtas_ibm_change_msi() and spapr_phb_realize() error on 0 This patch adds an errp argument to xics_alloc() and xics_alloc_block() to report errors. The return value of these functions is a valid IRQ number if errp is NULL. It is undefined otherwise. The corresponding error traces get promotted to error messages. Note that the "can't allocate IRQ" error message in spapr_vio_busdev_realize() also moves to xics_alloc(). Similar error message consolidation isn't really applicable to xics_alloc_block() because callers have extra context (device config address, MSI or MSIX). This fixes the issues mentioned above. Based on previous work from Brian W. Hart. Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'os-posix.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud