diff --git a/headers/os/drivers/PCI.h b/headers/os/drivers/PCI.h index c06d12f83a..24e7d2340e 100644 --- a/headers/os/drivers/PCI.h +++ b/headers/os/drivers/PCI.h @@ -146,7 +146,7 @@ struct pci_module_info { uint32 value /* value to write */ ); - void * (*ram_address) (const void *physical_address_in_system_memory); + phys_addr_t (*ram_address) (phys_addr_t physical_address_in_system_memory); status_t (*find_pci_capability) ( uchar bus, diff --git a/headers/os/drivers/bus/PCI.h b/headers/os/drivers/bus/PCI.h index f0816d3361..6a7f42721b 100644 --- a/headers/os/drivers/bus/PCI.h +++ b/headers/os/drivers/bus/PCI.h @@ -25,7 +25,7 @@ typedef struct pci_device_module_info { void (*write_io_32)(pci_device *device, addr_t mappedIOAddress, uint32 value); - void *(*ram_address)(pci_device *device, const void *physicalAddress); + phys_addr_t (*ram_address)(pci_device *device, phys_addr_t physicalAddress); uint32 (*read_pci_config)(pci_device *device, uint16 offset, uint8 size); diff --git a/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp b/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp index 39fc4cf887..c4e9917718 100644 --- a/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp +++ b/src/add-ons/kernel/bus_managers/pci/arch/arm/pci_controller.cpp @@ -20,8 +20,8 @@ pci_controller_init(void) } -void * -pci_ram_address(const void *physical_address_in_system_memory) +phys_addr_t +pci_ram_address(phys_addr_t physical_address_in_system_memory) { - return (void *)physical_address_in_system_memory; + return physical_address_in_system_memory; } diff --git a/src/add-ons/kernel/bus_managers/pci/arch/m68k/pci_controller.cpp b/src/add-ons/kernel/bus_managers/pci/arch/m68k/pci_controller.cpp index bf449e6eda..87293a3e1d 100644 --- a/src/add-ons/kernel/bus_managers/pci/arch/m68k/pci_controller.cpp +++ b/src/add-ons/kernel/bus_managers/pci/arch/m68k/pci_controller.cpp @@ -44,8 +44,8 @@ pci_controller_init(void) } -void * -pci_ram_address(const void *physical_address_in_system_memory) +phys_addr_t +pci_ram_address(phys_addr_t physical_address_in_system_memory) { - return (void *)physical_address_in_system_memory; + return physical_address_in_system_memory; } diff --git a/src/add-ons/kernel/bus_managers/pci/arch/ppc/pci_controller.cpp b/src/add-ons/kernel/bus_managers/pci/arch/ppc/pci_controller.cpp index 50caa2b6ff..c5015db44f 100644 --- a/src/add-ons/kernel/bus_managers/pci/arch/ppc/pci_controller.cpp +++ b/src/add-ons/kernel/bus_managers/pci/arch/ppc/pci_controller.cpp @@ -29,8 +29,8 @@ pci_controller_init(void) } -void * -pci_ram_address(const void *physical_address_in_system_memory) +phys_addr_t +pci_ram_address(phys_addr_t physical_address_in_system_memory) { - return (void *)physical_address_in_system_memory; + return physical_address_in_system_memory; } diff --git a/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_controller.cpp b/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_controller.cpp index 2da62a762d..2c1934e5b9 100644 --- a/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_controller.cpp +++ b/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_controller.cpp @@ -269,10 +269,10 @@ pci_mechpcie_get_max_bus_devices(void *cookie, int32 *count) } -void * -pci_ram_address(const void *physical_address_in_system_memory) +phys_addr_t +pci_ram_address(phys_addr_t physical_address_in_system_memory) { - return (void *)physical_address_in_system_memory; + return physical_address_in_system_memory; } diff --git a/src/add-ons/kernel/bus_managers/pci/pci.cpp b/src/add-ons/kernel/bus_managers/pci/pci.cpp index 14ae42f23e..9e09c96988 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci.cpp +++ b/src/add-ons/kernel/bus_managers/pci/pci.cpp @@ -1301,8 +1301,8 @@ PCI::_ReadHeaderInfo(PCIDev *dev) &dev->info.u.h0.base_register_sizes[i], &dev->info.u.h0.base_register_flags[i], i < 5 ? &dev->info.u.h0.base_registers_pci[i + 1] : NULL); - dev->info.u.h0.base_registers[i] = (addr_t)pci_ram_address( - (void *)(addr_t)dev->info.u.h0.base_registers_pci[i]); + dev->info.u.h0.base_registers[i] = (uint32)pci_ram_address( + dev->info.u.h0.base_registers_pci[i]); i += barSize; } @@ -1310,8 +1310,8 @@ PCI::_ReadHeaderInfo(PCIDev *dev) WriteConfig(dev->domain, dev->bus, dev->device, dev->function, PCI_command, 2, pcicmd); - dev->info.u.h0.rom_base = (addr_t)pci_ram_address( - (void *)(addr_t)dev->info.u.h0.rom_base_pci); + dev->info.u.h0.rom_base = (uint32)pci_ram_address( + dev->info.u.h0.rom_base_pci); dev->info.u.h0.cardbus_cis = ReadConfig(dev->domain, dev->bus, dev->device, dev->function, PCI_cardbus_cis, 4); @@ -1347,8 +1347,8 @@ PCI::_ReadHeaderInfo(PCIDev *dev) &dev->info.u.h1.base_register_sizes[i], &dev->info.u.h1.base_register_flags[i], i < 5 ? &dev->info.u.h1.base_registers_pci[i + 1] : NULL); - dev->info.u.h1.base_registers[i] = (addr_t)pci_ram_address( - (void *)(addr_t)dev->info.u.h1.base_registers_pci[i]); + dev->info.u.h1.base_registers[i] = (uint32)pci_ram_address( + dev->info.u.h1.base_registers_pci[i]); i += barSize; } @@ -1356,8 +1356,8 @@ PCI::_ReadHeaderInfo(PCIDev *dev) WriteConfig(dev->domain, dev->bus, dev->device, dev->function, PCI_command, 2, pcicmd); - dev->info.u.h1.rom_base = (addr_t)pci_ram_address( - (void *)(addr_t)dev->info.u.h1.rom_base_pci); + dev->info.u.h1.rom_base = (uint32)pci_ram_address( + dev->info.u.h1.rom_base_pci); dev->info.u.h1.primary_bus = ReadConfig(dev->domain, dev->bus, dev->device, dev->function, PCI_primary_bus, 1); diff --git a/src/add-ons/kernel/bus_managers/pci/pci_device.cpp b/src/add-ons/kernel/bus_managers/pci/pci_device.cpp index 3d6f8e16f6..359c18ee2d 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci_device.cpp +++ b/src/add-ons/kernel/bus_managers/pci/pci_device.cpp @@ -80,8 +80,8 @@ pci_device_write_pci_config(pci_device* device, uint16 offset, uint8 size, } -static void* -pci_device_ram_address(pci_device* device, const void* physicalAddress) +static phys_addr_t +pci_device_ram_address(pci_device* device, phys_addr_t physicalAddress) { return pci_ram_address(physicalAddress); } diff --git a/src/add-ons/kernel/bus_managers/pci/pci_private.h b/src/add-ons/kernel/bus_managers/pci/pci_private.h index 306b3d854c..0958ab6bb4 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci_private.h +++ b/src/add-ons/kernel/bus_managers/pci/pci_private.h @@ -44,7 +44,7 @@ extern pci_device_module_info gPCIDeviceModule; extern "C" { #endif -void * pci_ram_address(const void *physical_address_in_system_memory); +phys_addr_t pci_ram_address(phys_addr_t physical_address_in_system_memory); status_t pci_find_capability(uint8 bus, uint8 device, uint8 function, uint8 cap_id, uint8 *offset);