Re: VMI Interface Proposal Documentation for I386, Part 5

From: Zwane Mwaikambo
Date: Tue Mar 14 2006 - 02:52:43 EST


On Mon, 13 Mar 2006, Zachary Amsden wrote:

> PROCESSOR STATE CALLS
>
> This set of calls controls the online status of the processor. It
> include interrupt control, reboot, halt, and shutdown functionality.
> Future expansions may include deep sleep and hotplug CPU capabilities.
>
> VMI_DisableInterrupts
>
> VMICALL void VMI_DisableInterrupts(void);
>
> Disable maskable interrupts on the processor.
>
> Inputs: None
> Outputs: None
> Clobbers: Flags only
> Segments: As this is both performance critical and likely to
> be called from low level interrupt code, this call does not
> require flat DS/ES segments, but uses the stack segment for
> data access. Therefore only CS/SS must be well defined.
>
> VMI_EnableInterrupts
>
> VMICALL void VMI_EnableInterrupts(void);
>
> Enable maskable interrupts on the processor. Note that the
> current implementation always will deliver any pending interrupts
> on a call which enables interrupts, for compatibility with kernel
> code which expects this behavior. Whether this should be required
> is open for debate.

Mind if i push this debate slightly forward? If we were to move the
dispatch of pending interrupts elsewhere, where would that be? In
particular, for a device which won't issue any more interrupts until it's
previous interrupt is serviced. Perhaps injection at arbitrary points
during runtime when interrupts are enabled?

Zwane

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/