device_port = file_name_lookup(server, 0, 0);
if (device_port == MACH_PORT_NULL)
- a->error("Cannot find the PCI arbiter");
+ d->access->error("Cannot find the PCI arbiter");
*((mach_port_t *) d->aux) = device_port;
return device_port;
DIR *dir;
struct dirent *entry;
char path[NAME_MAX];
- uint32_t vd;
- uint8_t ht;
struct pci_dev *d;
dir = opendir(parent);
d->bus = bus;
d->dev = dev;
d->func = func;
-
pci_link_dev(a, d);
-
- vd = pci_read_long(d, PCI_VENDOR_ID);
- ht = pci_read_byte(d, PCI_HEADER_TYPE);
-
- d->vendor_id = vd & 0xffff;
- d->device_id = vd >> 16U;
- d->known_fields = PCI_FILL_IDENT;
- d->hdrtype = ht;
}
}
mach_port_t device_port = device_port_lookup(d);
if (len > 4)
- return pci_generic_block_read(d, pos, buf, nread);
+ return pci_generic_block_read(d, pos, buf, len);
data = (char *) buf;
- nread = len;
err = pci_conf_read(device_port, pos, &data, &nread, len);
if (data != (char *) buf)
if (len > 4)
return pci_generic_block_write(d, pos, buf, len);
- nwrote = len;
err = pci_conf_write(device_port, pos, (char *) buf, len, &nwrote);
return !err && nwrote == (size_t) len;