84,10 → 84,8 |
|
uint8_t pci_conf_read_8(pci_dev_t *dev, int reg) |
{ |
uint8_t res; |
futex_down(&pci_conf_futex); |
uint8_t res; |
psycho_conf_read(dev, reg, &res, sizeof(uint8_t)); |
futex_up(&pci_conf_futex); |
return res; |
} |
|
94,9 → 92,7 |
uint16_t pci_conf_read_16(pci_dev_t *dev, int reg) |
{ |
uint16_t res; |
futex_down(&pci_conf_futex); |
psycho_conf_read(dev, reg, (uint8_t *)(&res), sizeof(uint16_t)); |
futex_up(&pci_conf_futex); |
return res; |
} |
|
103,9 → 99,7 |
uint32_t pci_conf_read_32(pci_dev_t *dev, int reg) |
{ |
uint32_t res; |
futex_down(&pci_conf_futex); |
psycho_conf_read(dev, reg, (uint8_t *)(&res), sizeof(uint32_t)); |
futex_up(&pci_conf_futex); |
psycho_conf_read(dev, reg, (uint8_t *)(&res), sizeof(uint32_t)); |
return res; |
} |
|
121,6 → 115,7 |
|
static void psycho_conf_read(pci_dev_t *d, int reg, uint8_t *buf, int len) |
{ |
futex_down(&pci_conf_futex); |
switch (len) { |
case 1: |
buf[0] = pio_read_8(psycho_conf_addr(d, reg)); |
131,11 → 126,13 |
case 4: |
*((uint32_t *)buf) = invert_endianness_32(pio_read_32(psycho_conf_addr(d, reg))); |
break; |
} |
} |
futex_up(&pci_conf_futex); |
} |
|
static void psycho_conf_write(pci_dev_t *d, int reg, uint8_t *buf, int len) |
{ |
futex_down(&pci_conf_futex); |
switch (len) { |
case 1: |
pio_write_8(psycho_conf_addr(d, reg), buf[0]); |
147,6 → 144,7 |
pio_write_32(psycho_conf_addr(d, reg), invert_endianness_32(*((uint32_t *)buf))); |
break; |
} |
futex_up(&pci_conf_futex); |
} |
|
/* pci bus structure initialization */ |