From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47940) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VohUJ-0004Ms-P5 for qemu-devel@nongnu.org; Thu, 05 Dec 2013 17:33:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VohU3-000484-GC for qemu-devel@nongnu.org; Thu, 05 Dec 2013 17:33:39 -0500 Received: from e38.co.us.ibm.com ([32.97.110.159]:46875) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VohU3-00047l-8z for qemu-devel@nongnu.org; Thu, 05 Dec 2013 17:33:23 -0500 Received: from /spool/local by e38.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 5 Dec 2013 15:33:22 -0700 From: Michael Roth Date: Thu, 5 Dec 2013 16:32:56 -0600 Message-Id: <1386282785-466-6-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1386282785-466-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1386282785-466-1-git-send-email-mdroth@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v2 05/14] spapr_pci: add get/set-power-level RTAS interfaces List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aik@ozlabs.ru, agraf@suse.de, ncmike@ncultra.org, paulus@samba.org, tyreld@linux.vnet.ibm.com, nfont@linux.vnet.ibm.com, qemu-ppc@nongnu.org From: Nathan Fontenot Signed-off-by: Nathan Fontenot Signed-off-by: Michael Roth --- hw/ppc/spapr_pci.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 1046ec8..8df44a3 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -488,6 +488,26 @@ static void rtas_set_indicator(PowerPCCPU *cpu, sPAPREnvironment *spapr, rtas_st(rets, 0, RTAS_OUT_SUCCESS); } +static void rtas_set_power_level(PowerPCCPU *cpu, sPAPREnvironment *spapr, + uint32_t token, uint32_t nargs, + target_ulong args, uint32_t nret, + target_ulong rets) +{ + uint32_t power_lvl = rtas_ld(args, 1); + rtas_st(rets, 0, RTAS_OUT_SUCCESS); + rtas_st(rets, 1, power_lvl); +} + +static void rtas_get_power_level(PowerPCCPU *cpu, sPAPREnvironment *spapr, + uint32_t token, uint32_t nargs, + target_ulong args, uint32_t nret, + target_ulong rets) +{ + /* return SUCCESS with a power level of 100 */ + rtas_st(rets, 0, RTAS_OUT_SUCCESS); + rtas_st(rets, 1, 100); +} + static int pci_spapr_swizzle(int slot, int pin) { return (slot + pin) % PCI_NUM_PINS; @@ -1051,6 +1071,8 @@ void spapr_pci_rtas_init(void) spapr_rtas_register("ibm,change-msi", rtas_ibm_change_msi); } spapr_rtas_register("set-indicator", rtas_set_indicator); + spapr_rtas_register("set-power-level", rtas_set_power_level); + spapr_rtas_register("get-power-level", rtas_get_power_level); } static void spapr_pci_register_types(void) -- 1.7.9.5