summaryrefslogtreecommitdiff
path: root/kernel/include/mcfg.h
blob: 2e238cf3fab3abb3f636a7a86e358be9718891b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef MCFG_H
#define MCFG_H

#include <types.h>

struct config_space_mcfgt {
	uint64_t base_addr;
	uint16_t pci_seg_group;
	uint8_t start_bus;
	uint8_t end_bus;
	uint32_t reserved;
} __attribute__((packed));
typedef struct config_space_mcfgt config_space_mcfgt;

struct MCFGT {
	uint32_t signature;
	uint32_t length;
	uint8_t revision;
	uint8_t checksum;
	uint8_t oem_id[6];
	uint64_t oem_table_id;
	uint32_t oem_table_revision;
	uint32_t creator_id;
	uint32_t creator_revision;
	uint64_t reserved;
} __attribute__((packed));
typedef struct MCFGT MCFGT;

void read_mcfgt(void);

#endif