2 * Copyright (c) 2007, 2008, 2009, ETH Zurich.
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
10 interface acpi "acpi RPC Interface" {
17 // XXX: SKB fails when these values are stored as predicate?
18 rpc get_pcie_confspace(out errval err,
24 rpc read_irq_table(in String handle[256],
28 out String child[256]);
30 rpc set_device_irq(in String handle[2048],
34 rpc enable_and_route_interrupt(in uint32 gsi,
37 out errval error_code);
39 rpc reset(out errval err);
40 rpc sleep(in uint32 state, out errval err);
42 rpc get_handle(in String devid[2048], out uint64 handle, out errval err);
43 rpc eval_integer(in uint64 handle, in String path[2048], out uint64 val, out errval err);
45 // Kludge: retrieve frame cap to VBE BIOS;
46 rpc get_vbe_bios_cap(out errval err, out cap cap, out uint32 size);
48 rpc create_domain(in cap pml4, out errval err);
50 rpc delete_domain(in cap pml4, out errval err);
52 rpc vtd_add_device(in uint32 seg, in uint32 bus, in uint32 dev, in uint32 funct, in cap pml4, out errval err);
54 rpc vtd_remove_device(in uint32 seg, in uint32 bus, in uint32 dev, in uint32 funct, in cap pml4, out errval err);
56 rpc vtd_id_dom_add_devices(out errval err);
58 // More Kludge; cap retrieval for pci
59 // We need a designated service to maintain the physical address
60 // space caps (to avoid sibling errors).
61 rpc mm_alloc_range_proxy(in uint8 sizebits, in uint64 minbase,
62 in uint64 maxlimit, out cap devframe, out errval err);
63 rpc mm_realloc_range_proxy(in uint8 sizebits, in uint64 minbase,
64 out cap devframe, out errval err);
65 rpc mm_free_proxy(in cap devframe, in uint64 base, in uint8 sizebits, out errval err);