feat: native .opc executable binary format, hardware PCI GPU driver, terminal text editor, and web browser
This commit is contained in:
@@ -17,6 +17,17 @@ typedef struct pci_device {
|
||||
uint8_t header_type;
|
||||
} pci_device_t;
|
||||
|
||||
typedef struct gpu_info {
|
||||
uint16_t vendor_id;
|
||||
uint16_t device_id;
|
||||
uint8_t bus;
|
||||
uint8_t slot;
|
||||
uint8_t func;
|
||||
uint32_t vram_mb;
|
||||
char vendor_name[32];
|
||||
char model_name[64];
|
||||
} gpu_info_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -25,6 +36,12 @@ uint32_t pci_read_config_dword(uint8_t bus, uint8_t slot, uint8_t func, uint8_t
|
||||
void pci_write_config_dword(uint8_t bus, uint8_t slot, uint8_t func, uint8_t offset, uint32_t val);
|
||||
uint16_t pci_get_vendor_id(uint8_t bus, uint8_t slot, uint8_t func);
|
||||
uint16_t pci_get_device_id(uint8_t bus, uint8_t slot, uint8_t func);
|
||||
uint32_t pci_get_bar_size(uint8_t bus, uint8_t slot, uint8_t func, uint8_t bar_idx);
|
||||
|
||||
const char *pci_class_to_string(uint8_t class_code, uint8_t subclass);
|
||||
const char *pci_vendor_to_string(uint16_t vendor_id);
|
||||
|
||||
int pci_detect_gpu(gpu_info_t *out_gpu);
|
||||
|
||||
typedef void (*pci_scan_callback_t)(const pci_device_t *dev);
|
||||
void pci_scan_bus(pci_scan_callback_t callback);
|
||||
|
||||
Reference in New Issue
Block a user