Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / minix / acpi.h @ 14

History | View | Annotate | Download (1.02 KB)

1 13 up20180614
#include <sys/types.h>
2
#include <minix/ipc.h>
3
4
#define ACPI_REQ_GET_IRQ                        1
5
#define ACPI_REQ_MAP_BRIDGE                        2
6
7
struct acpi_request_hdr {
8
        endpoint_t         m_source; /* message header */
9
        u32_t                request;
10
};
11
12
/*
13
 * Message to request dev/pin translation to IRQ by acpi using the acpi routing
14
 * tables
15
 */
16
struct acpi_get_irq_req {
17
        struct acpi_request_hdr        hdr;
18
        u32_t                        bus;
19
        u32_t                        dev;
20
        u32_t                        pin;
21
        u32_t                        __padding[4];
22
};
23
24
/* response from acpi to acpi_get_irq_req */
25
struct acpi_get_irq_resp {
26
        endpoint_t         m_source; /* message header */
27
        i32_t                irq;
28
        u32_t                __padding[7];
29
};
30
31
/* message format for pci bridge mappings to acpi */
32
struct acpi_map_bridge_req {
33
        struct acpi_request_hdr        hdr;
34
        u32_t        primary_bus;
35
        u32_t        secondary_bus;
36
        u32_t        device;
37
        u32_t        __padding[4];
38
};
39
40
struct acpi_map_bridge_resp {
41
        endpoint_t         m_source; /* message header */
42
        int                err;
43
        u32_t                __padding[7];
44
};
45
46
int acpi_init(void);
47
int acpi_get_irq(unsigned bus, unsigned dev, unsigned pin);
48
void acpi_map_bridge(unsigned int pbnr, unsigned int dev, unsigned int sbnr);