mirror of
https://github.com/limine-bootloader/limine
synced 2025-01-04 03:54:24 +03:00
PROTOCOL: Get rid of unreliable gic_iface_no field on AArch64
This commit is contained in:
parent
b56acdb07d
commit
b27e1bcb58
@ -708,7 +708,7 @@ typedef void (*limine_goto_address)(struct limine_smp_info *);
|
||||
|
||||
struct limine_smp_info {
|
||||
uint32_t processor_id;
|
||||
uint32_t gic_iface_no;
|
||||
uint32_t reserved1;
|
||||
uint64_t mpidr;
|
||||
uint64_t reserved;
|
||||
limine_goto_address goto_address;
|
||||
@ -716,8 +716,7 @@ struct limine_smp_info {
|
||||
};
|
||||
```
|
||||
|
||||
* `processor_id` - ACPI Processor UID as specified by the MADT
|
||||
* `gic_iface_no` - GIC CPU Interface number of the processor as specified by the MADT (possibly always 0)
|
||||
* `processor_id` - ACPI Processor UID as specified by the MADT (always 0 on non-ACPI systems)
|
||||
* `mpidr` - MPIDR of the processor as specified by the MADT or device tree
|
||||
* `goto_address` - An atomic write to this field causes the parked CPU to
|
||||
jump to the written address, on a 64KiB (or Stack Size Request size) stack. A pointer to the
|
||||
|
@ -483,7 +483,6 @@ static struct limine_smp_info *try_acpi_smp(size_t *cpu_count,
|
||||
struct limine_smp_info *info_struct = &ret[*cpu_count];
|
||||
|
||||
info_struct->processor_id = gicc->acpi_uid;
|
||||
info_struct->gic_iface_no = gicc->iface_no;
|
||||
info_struct->mpidr = gicc->mpidr;
|
||||
|
||||
// Do not try to restart the BSP
|
||||
|
2
limine.h
2
limine.h
@ -334,7 +334,7 @@ struct limine_smp_response {
|
||||
|
||||
struct limine_smp_info {
|
||||
uint32_t processor_id;
|
||||
uint32_t gic_iface_no;
|
||||
uint32_t reserved1;
|
||||
uint64_t mpidr;
|
||||
uint64_t reserved;
|
||||
LIMINE_PTR(limine_goto_address) goto_address;
|
||||
|
@ -206,7 +206,6 @@ void ap_entry(struct limine_smp_info *info) {
|
||||
#if defined (__x86_64__)
|
||||
e9_printf("My LAPIC ID: %x", info->lapic_id);
|
||||
#elif defined (__aarch64__)
|
||||
e9_printf("My GIC CPU Interface no.: %x", info->gic_iface_no);
|
||||
e9_printf("My MPIDR: %x", info->mpidr);
|
||||
#elif defined (__riscv)
|
||||
e9_printf("My Hart ID: %x", info->hartid);
|
||||
@ -446,7 +445,6 @@ FEAT_START
|
||||
#if defined (__x86_64__)
|
||||
e9_printf("LAPIC ID: %x", cpu->lapic_id);
|
||||
#elif defined (__aarch64__)
|
||||
e9_printf("GIC CPU Interface no.: %x", cpu->gic_iface_no);
|
||||
e9_printf("MPIDR: %x", cpu->mpidr);
|
||||
#elif defined (__riscv)
|
||||
e9_printf("Hart ID: %x", cpu->hartid);
|
||||
|
Loading…
Reference in New Issue
Block a user