Re: VMI Interface Proposal Documentation for I386, Part 5



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/



Relevant Pages

  • Re: no DRQ after issuing WRITE was Re: 2.4.23-uv3 patch set released
    ... and then it enables it. ... I tried setting the timeout up as a first fix, ... So when I made the patch ... either disabeling the interrupts while first ...
    (Linux-Kernel)
  • Re: [patch] sched: unlocked context-switches
    ... Ingo> enabling interrupts. ... Ingo> the patch drops both the runqueue lock and enables interrupts, ...
    (Linux-Kernel)
  • Re: Linux 2.6.22-rc7
    ... Ok, I _think_ this is actually ok, and the lock validator is unhappy just ... that we take the list_lock with interrupts enabled looks scary. ... new_slabenables and disables interrupts during usual operations. ...
    (Linux-Kernel)
  • Re: [Bug 7505] Linux-2.6.18 fails to boot on AMD64 machine
    ... instrument function start_kernel to capture which function enables irq. ... init/main.c start_kernel: interrupts were disabled@525 ...
    (Linux-Kernel)
  • Re: VMI Interface Proposal Documentation for I386, Part 5
    ... Disable maskable interrupts on the processor. ... If we were to move the dispatch of pending interrupts elsewhere, ... Think about this from the hypervisor perspective - if the guest enables interrupts, and you have something pending to deliver, for correctness, you have to deliver it, right now. ... In fact, requiring source inspection of all drivers just for this would be a gargantuan task, as well as being difficult to maintain. ...
    (Linux-Kernel)