pseries: Don't allow duplicate registration of hcalls or RTAS calls
authorDavid Gibson <david@gibson.dropbear.id.au>
Mon, 8 Oct 2012 18:17:36 +0000 (18:17 +0000)
committerAlexander Graf <agraf@suse.de>
Mon, 29 Oct 2012 10:45:54 +0000 (11:45 +0100)
commitc89d52997cf4849a9ee16b5d2cf462d0cd137634
treef7df605ebd1f171f584cec1ffa71c674d69dc2f1
parent094b287f0b3b79d1e68df8f3a63cb144ec9cdfb6
pseries: Don't allow duplicate registration of hcalls or RTAS calls

Currently the pseries machine code allows a callback to be registered
for a hypercall number twice, as long as it's the same callback the second
time.  We don't test for duplicate registrations of RTAS callbacks at all
so it will effectively be last registratiojn wins.

This was originally done because it was awkward to ensure that the
registration happened exactly once, but the code has since been
restructured so that's no longer the case.

Duplicate registration of a hypercall or RTAS call could well suggest
a duplicate initialization which could cause other problems, so this patch
makes duplicate registrations a bug, to prevent the old behaviour from
hiding other bugs.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
hw/spapr_hcall.c
hw/spapr_rtas.c