riscv64/smp: Implement multi-processor support
* Working under qemu smp 1,2+ * Working on SiFive Unmatched * x86_64 efi not broken by smp_boot_other_cpus change Change-Id: I32ebc17913e46ed082be9ade8f56448bbf12f16e Reviewed-on: https://review.haiku-os.org/c/haiku/+/4705 Tested-by: Commit checker robot <[email protected]> Reviewed-by: Alex von Gluck IV <[email protected]>
This commit is contained in:
@@ -12,20 +12,20 @@
|
||||
struct fdt_bus;
|
||||
struct fdt_device;
|
||||
|
||||
struct fdt_bus_module_info {
|
||||
typedef struct fdt_bus_module_info {
|
||||
driver_module_info info;
|
||||
device_node* (*node_by_phandle)(fdt_bus* bus, int phandle);
|
||||
};
|
||||
device_node* (*node_by_phandle)(struct fdt_bus* bus, int phandle);
|
||||
} fdt_bus_module_info;
|
||||
|
||||
struct fdt_device_module_info{
|
||||
typedef struct fdt_device_module_info {
|
||||
driver_module_info info;
|
||||
device_node* (*get_bus)(fdt_device* dev);
|
||||
const char* (*get_name)(fdt_device* dev);
|
||||
const void* (*get_prop)(fdt_device* dev, const char* name, int* len);
|
||||
bool (*get_reg)(fdt_device* dev, uint32 ord, uint64* regs, uint64* len);
|
||||
bool (*get_interrupt)(fdt_device* dev, uint32 ord,
|
||||
device_node* (*get_bus)(struct fdt_device* dev);
|
||||
const char* (*get_name)(struct fdt_device* dev);
|
||||
const void* (*get_prop)(struct fdt_device* dev, const char* name, int* len);
|
||||
bool (*get_reg)(struct fdt_device* dev, uint32 ord, uint64* regs, uint64* len);
|
||||
bool (*get_interrupt)(struct fdt_device* dev, uint32 ord,
|
||||
device_node** interruptController, uint64* interrupt);
|
||||
};
|
||||
} fdt_device_module_info;
|
||||
|
||||
|
||||
#endif // _DRIVERS_BUS_FDT_H
|
||||
|
||||
Reference in New Issue
Block a user