Damien Zammit, le dim. 28 mars 2021 17:03:20 +1100, a ecrit:
> diff --git a/i386/configfrag.ac b/i386/configfrag.ac
> index bf4af110..9a39ccbb 100644
> --- a/i386/configfrag.ac
> +++ b/i386/configfrag.ac
> @@ -92,6 +92,18 @@ if [ x"$enable_lpr" = xyes ]; then]
> AM_CONDITIONAL([enable_lpr], [false])
> [fi]
>
> +AC_ARG_ENABLE([apic],
> + AS_HELP_STRING([--enable-apic], [LAPIC/IOAPIC support (ix86-only); enabled
> by default]))
> +[case $host_platform:$host_cpu in
> + *:i?86)
> + enable_apic=${enable_apic-yes};;
> +esac
> +if [ x"$enable_apic" = xyes ]; then]
> + AC_DEFINE([APIC], [1], [APIC support])
> + AM_CONDITIONAL([enable_apic], [true])
> +[else]
> + AM_CONDITIONAL([enable_apic], [false])
> +[fi]
Do you think we will be able to use lapic along the Linux glue?
Otherwise we need something in the configfrags to detect the
incompatibility and tell the user that they can't be enabled at the same
time.
> +# include <i386/apic.h>
> +#else
> +# include <i386/pic.h>
> +#endif
> #include <i386/i386asm.h>
>
> #define READ_ISR (OCW_TEMPLATE|READ_NEXT_RD|READ_IS_ONRD)
> @@ -29,6 +33,10 @@
> ENTRY(interrupt)
> pushl %eax /* save irq number */
> movl %eax,%ecx /* copy irq number */
> +#ifdef APIC
> + cmpl $255,%eax /* was this a spurious intr? */
> + je 2f /* if so, null+eoi handler */
This 2f is confusing because we now have two "2" labels. Rather use
named labels.
Samuel