1 /*
2  * Copyright 2014, General Dynamics C4 Systems
3  *
4  * SPDX-License-Identifier: GPL-2.0-only
5  */
6 
7 #include <config.h>
8 
9 #if defined(CONFIG_DEBUG_BUILD) && defined(CONFIG_PRINTING)
10 
11 #include <arch/machine/capdl.h>
12 #include <string.h>
13 #include <kernel/cspace.h>
14 #include <machine/io.h>
15 #include <arch/object/iospace.h>
16 
17 
x86_obj_ioports_print_attrs(cap_t ioports_cap)18 void x86_obj_ioports_print_attrs(cap_t ioports_cap)
19 {
20     printf("(ports: (%lu, %lu))\n",
21            (long unsigned int)cap_io_port_cap_get_capIOPortFirstPort(ioports_cap),
22            (long unsigned int)cap_io_port_cap_get_capIOPortLastPort(ioports_cap));
23 }
24 
25 #ifdef CONFIG_IOMMU
26 
x86_obj_iospace_print_attrs(cap_t iospace_cap)27 void x86_obj_iospace_print_attrs(cap_t iospace_cap)
28 {
29     printf("(domain_id: %lu, pci_device: %lu)\n",
30            (long unsigned int)cap_io_space_cap_get_capPCIDevice(iospace_cap),
31            (long unsigned int)cap_io_space_cap_get_capDomainID(iospace_cap));
32 }
33 
x86_obj_iopt_print_attrs(cap_t iopt_cap)34 void x86_obj_iopt_print_attrs(cap_t iopt_cap)
35 {
36     printf("(level: %lu)\n", (long unsigned int)cap_io_page_table_cap_get_capIOPTLevel(iopt_cap));
37 }
38 #endif
39 
40 #endif /* defind(CONFIG_DEBUG_BUILD) && defined(CONFIG_PRINTING) */
41