bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 4/4 gnumach] smp: Fix INIT/STARTUP IPI sequence


From: Samuel Thibault
Subject: Re: [PATCH v2 4/4 gnumach] smp: Fix INIT/STARTUP IPI sequence
Date: Tue, 6 Feb 2024 21:56:09 +0100
User-agent: NeoMutt/20170609 (1.8.3)

Damien Zammit, le mar. 06 févr. 2024 03:06:28 +0000, a ecrit:
> +    printf("Sending IPIs to APIC ID %u...\n", apic_id);
> +    err = smp_send_ipi_init(apic_id);
> +    hpet_mdelay(10);
> +    err = smp_send_ipi_startup(apic_id, start_eip / PAGE_SIZE);
> +    hpet_udelay(200);
> +    err = smp_send_ipi_startup(apic_id, start_eip / PAGE_SIZE);

I don't think this is really about PAGE_SIZE, but rather

<< (20 - 8)

In that the IPI can send an 8bit value, and the realmode address space
is 20bits, so the best precision that can be achieved for the bootup
address (while still being able to boot anything within the 1MB space)
is 1 << (20 - 8) and thus that's what Intel decided to use.

Samuel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]