]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
drivers/ukbus: Replace libc types with Unikraft defined
authorRares Miculescu <miculescur@gmail.com>
Tue, 27 Feb 2024 08:59:46 +0000 (10:59 +0200)
committerRazvan Deaconescu <razvan.deaconescu@upb.ro>
Mon, 18 Mar 2024 15:10:44 +0000 (17:10 +0200)
Replace libc types with Unikraft defined, for `drivers/ukbus/`
to become independent of libc.

Signed-off-by: Rares Miculescu <miculescur@gmail.com>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Reviewed-by: Radu Nichita <radunichita99@gmail.com>
Reviewed-by: Michalis Pappas <michalis@unikraft.io>
Approved-by: Michalis Pappas <michalis@unikraft.io>
GitHub-Closes: #1343

drivers/ukbus/pci/arch/arm64/pci_bus.c
drivers/ukbus/pci/arch/x86_64/pci_bus.c
drivers/ukbus/pci/include/uk/bus/pci.h
drivers/ukbus/pci/pci_ecam.c
drivers/ukbus/pci/pci_ecam.h
drivers/ukbus/platform/include/uk/bus/platform.h
drivers/ukbus/platform/platform_bus.c

index 8aa2cb3fa8280864e071b76e927eaf9a35fbedbf..6f0044edae20e263eaa458e89911a614b3e612b8 100644 (file)
@@ -115,8 +115,8 @@ int arch_pci_probe(struct uk_alloc *pha)
        struct pci_address addr;
        struct pci_device_id devid;
        struct pci_driver *drv;
-       uint32_t bus;
-       uint8_t dev;
+       __u32 bus;
+       __u8 dev;
        int irq, pin = 0;
        __u64 base;
        int found_pci_device = 0;
index 1c6af669ff36d385e7447dd78740bb2d78cee73c..bcf9c3050c7474e2202ed624d132602748e023f8 100644 (file)
@@ -58,7 +58,7 @@
 
 #define PCI_CONF_READ(type, ret, a, s)                                 \
        do {                                                            \
-               uint32_t _conf_data;                                    \
+               __u32 _conf_data;                                       \
                outl(PCI_CONFIG_ADDR, (a) | PCI_CONF_##s);              \
                _conf_data = ((inl(PCI_CONFIG_DATA) >> PCI_CONF_##s##_SHFT) \
                              & PCI_CONF_##s##_MASK);                   \
@@ -70,7 +70,7 @@ static inline int pci_driver_add_device(struct pci_driver *drv,
                                        struct pci_device_id *devid)
 {
        struct pci_device *dev;
-       uint32_t config_addr;
+       __u32 config_addr;
        int ret;
 
        UK_ASSERT(drv != NULL);
@@ -94,8 +94,8 @@ static inline int pci_driver_add_device(struct pci_driver *drv,
        config_addr = (PCI_ENABLE_BIT)
                        | (addr->bus << PCI_BUS_SHIFT)
                        | (addr->devid << PCI_DEVICE_SHIFT);
-       PCI_CONF_READ(uint16_t, &dev->base, config_addr, IOBAR);
-       PCI_CONF_READ(uint8_t, &dev->irq, config_addr, IRQ);
+       PCI_CONF_READ(__u16, &dev->base, config_addr, IOBAR);
+       PCI_CONF_READ(__u8, &dev->irq, config_addr, IRQ);
 
        ret = drv->add_dev(dev);
        if (ret < 0) {
@@ -108,14 +108,14 @@ static inline int pci_driver_add_device(struct pci_driver *drv,
        return 0;
 }
 
-static void probe_bus(uint32_t);
+static void probe_bus(__u32);
 
 /* Probe a function. Return 1 if the function does not exist in the device, 0
  * otherwise.
  */
-static int probe_function(uint32_t bus, uint32_t device, uint32_t function)
+static int probe_function(__u32 bus, __u32 device, __u32 function)
 {
-       uint32_t config_addr, config_data, secondary_bus;
+       __u32 config_addr, config_data, secondary_bus;
        struct pci_address addr;
        struct pci_device_id devid;
        struct pci_driver *drv;
@@ -142,17 +142,17 @@ static int probe_function(uint32_t bus, uint32_t device, uint32_t function)
        /* These I/O reads could be batched, but it practice this does not
         * appear to make the code more performant.
         */
-       PCI_CONF_READ(uint32_t, &devid.class_id,
+       PCI_CONF_READ(__u32, &devid.class_id,
                        config_addr, CLASS_ID);
-       PCI_CONF_READ(uint32_t, &devid.sub_class_id,
+       PCI_CONF_READ(__u32, &devid.sub_class_id,
                        config_addr, SUBCLASS_ID);
-       PCI_CONF_READ(uint16_t, &devid.vendor_id,
+       PCI_CONF_READ(__u16, &devid.vendor_id,
                        config_addr, VENDOR_ID);
-       PCI_CONF_READ(uint16_t, &devid.device_id,
+       PCI_CONF_READ(__u16, &devid.device_id,
                        config_addr, DEVICE_ID);
-       PCI_CONF_READ(uint16_t, &devid.subsystem_device_id,
+       PCI_CONF_READ(__u16, &devid.subsystem_device_id,
                        config_addr, SUBSYS_ID);
-       PCI_CONF_READ(uint16_t, &devid.subsystem_vendor_id,
+       PCI_CONF_READ(__u16, &devid.subsystem_vendor_id,
                        config_addr, SUBSYSVEN_ID);
 
        uk_pr_info("PCI %02x:%02x.%02x (%04x %04x:%04x): ",
@@ -173,7 +173,7 @@ static int probe_function(uint32_t bus, uint32_t device, uint32_t function)
 
        /* 0x06 = Bridge Device, 0x04 = PCI-to-PCI bridge */
        if ((devid.class_id == 0x06) && (devid.sub_class_id == 0x04)) {
-               PCI_CONF_READ(uint32_t, &secondary_bus,
+               PCI_CONF_READ(__u32, &secondary_bus,
                                config_addr, SECONDARY_BUS);
                probe_bus(secondary_bus);
        }
@@ -184,16 +184,16 @@ static int probe_function(uint32_t bus, uint32_t device, uint32_t function)
 /* Recursive PCI enumeration: this function is called recursively by
  * probe_function upon discovering PCI-to-PCI bridges.
  */
-static void probe_bus(uint32_t bus)
+static void probe_bus(__u32 bus)
 {
-       uint32_t config_addr, device, header_type, function = 0;
+       __u32 config_addr, device, header_type, function = 0;
 
        for (device = 0; device < PCI_MAX_DEVICES; ++device) {
                if (!probe_function(bus, device, function))
                        continue;
 
                config_addr = (PCI_ENABLE_BIT);
-               PCI_CONF_READ(uint32_t, &header_type,
+               PCI_CONF_READ(__u32, &header_type,
                                config_addr, HEADER_TYPE);
 
                /* Is this a multi-function device? */
@@ -208,14 +208,14 @@ static void probe_bus(uint32_t bus)
 
 int arch_pci_probe(struct uk_alloc *pha)
 {
-       uint32_t config_addr, function, header_type, vendor_id;
+       __u32 config_addr, function, header_type, vendor_id;
 
        uk_pr_debug("Probe PCI\n");
 
        ph.a = pha;
 
        config_addr = (PCI_ENABLE_BIT);
-       PCI_CONF_READ(uint32_t, &header_type,
+       PCI_CONF_READ(__u32, &header_type,
                        config_addr, HEADER_TYPE);
 
        if ((header_type & PCI_HEADER_TYPE_MSB_MASK) == 0) {
@@ -227,7 +227,7 @@ int arch_pci_probe(struct uk_alloc *pha)
                        config_addr = (PCI_ENABLE_BIT) |
                                        (function << PCI_FUNCTION_SHIFT);
 
-                       PCI_CONF_READ(uint32_t, &vendor_id,
+                       PCI_CONF_READ(__u32, &vendor_id,
                                        config_addr, VENDOR_ID);
 
                        if (vendor_id == PCI_INVALID_ID)
index 35ffc7f1ac65da3f42625e473943acee92625a38..a38ab913c238d8a30465992b033d89c0c37c2f3b 100644 (file)
@@ -64,7 +64,6 @@
 #ifndef __UK_BUS_PCI_H__
 #define __UK_BUS_PCI_H__
 
-#include <stdint.h>
 #include <stddef.h>
 #include <uk/bus.h>
 #include <uk/alloc.h>
@@ -81,17 +80,17 @@ extern "C" {
  */
 struct pci_device_id {
        /**< Class ID or PCI_CLASS_ANY_ID. */
-       uint32_t class_id;
+       __u32 class_id;
        /**< Sub class ID or PCI_CLASS_ANY_ID. */
-       uint32_t sub_class_id;
+       __u32 sub_class_id;
        /**< Vendor ID or PCI_ANY_ID. */
-       uint16_t vendor_id;
+       __u16 vendor_id;
        /**< Device ID or PCI_ANY_ID. */
-       uint16_t device_id;
+       __u16 device_id;
        /**< Subsystem vendor ID or PCI_ANY_ID. */
-       uint16_t subsystem_vendor_id;
+       __u16 subsystem_vendor_id;
        /**< Subsystem device ID or PCI_ANY_ID. */
-       uint16_t subsystem_device_id;
+       __u16 subsystem_device_id;
 };
 
 /** Any PCI device identifier (vendor, device, ...) */
@@ -124,13 +123,13 @@ struct pci_device_id {
  */
 struct pci_address {
        /**< Device domain */
-       uint32_t domain;
+       __u32 domain;
        /**< Device bus */
-       uint8_t bus;
+       __u8 bus;
        /**< Device ID */
-       uint8_t devid;
+       __u8 devid;
        /**< Device function. */
-       uint8_t function;
+       __u8 function;
 };
 
 struct pci_device;
index 8c8f479d859294bae0c8fb0749e9597023708eef..0dad93d724aa3a03fe58a7d9e671152c86e037c8 100644 (file)
@@ -100,11 +100,11 @@ int pci_generic_config_read(__u8 bus, __u8 devfn,
        }
 
        if (size == 1)
-               *(uint8_t *)val = ioreg_read8(addr);
+               *(__u8 *)val = ioreg_read8(addr);
        else if (size == 2)
-               *(uint16_t *)val = ioreg_read16(addr);
+               *(__u16 *)val = ioreg_read16(addr);
        else if (size == 4)
-               *(uint32_t *)val = ioreg_read32(addr);
+               *(__u32 *)val = ioreg_read32(addr);
        else
                uk_pr_err("not support size pci config read\n");
 
index b31067c48397770441cb41119031fe0a9cba455d..12d5ba83ee99f2d6126bafa883e84ef233dfcde2 100644 (file)
@@ -73,7 +73,7 @@ struct pci_config_window {
 struct fdt_phandle_args {
        int np;
        int args_count;
-       uint32_t args[16];
+       __u32 args[16];
 };
 
 /*
index 8e9f94b69adce4e17add0f48fd604b8efc3f18f6..c1752aa20a7df39ae26466e7fb59103160f817d2 100644 (file)
@@ -33,7 +33,6 @@
 #ifndef __UK_BUS_PLATFORM_H__
 #define __UK_BUS_PLATFORM_H__
 
-#include <stdint.h>
 #include <uk/bus.h>
 #include <uk/alloc.h>
 
@@ -54,7 +53,7 @@ extern "C" {
 #define UK_MAX_VIRTIO_MMIO_DEVICE (0x2)
 
 struct pf_device_id {
-       uint16_t device_id;
+       __u16 device_id;
 };
 
 struct device_match_table {
@@ -91,8 +90,8 @@ struct pf_device {
        enum pf_device_state state;
 
        int fdt_offset; /* The start offset of fdt node for device */
-       uint64_t base;
-       size_t size;
+       __u64 base;
+       __sz size;
        unsigned long irq;
 };
 UK_TAILQ_HEAD(pf_device_list, struct pf_device);
index d80db40e34cf14251331bdd3546063b59c82b989..c42d6457e33c3aec7c61166a1bfa7873eed753ec 100644 (file)
@@ -30,7 +30,6 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <stdint.h>
 #include <string.h>
 #include <uk/print.h>
 #include <uk/plat/memory.h>
@@ -86,7 +85,7 @@ static inline struct pf_driver *pf_find_driver(const char *compatible)
                if (!drv->match)
                        continue;
 
-               id.device_id = (uint16_t)drv->match(compatible);
+               id.device_id = (__u16)drv->match(compatible);
                if (id.device_id >= PLATFORM_DEVICE_ID_START &&
                        id.device_id < PLATFORM_DEVICE_ID_END) {
                        if (pf_device_id_match(&id, drv->device_ids)) {