[LinuxBIOS] Winflashrom -- Current Status
kononov at dls.net
Fri Aug 10 15:38:34 CEST 2007
Peter Stuge wrote:
> But PCI config accesses are not atomic operations. Is there a
> guarantee that the other CPUs are not in the middle of doing a PCI
> access already?
> And even if they are actually doing something else, perhaps they
> (erroneously? but we don't want to break them anyway) rely on 0xcfc
> being what they set it to in the last PCI config access?
By making all the CPUs spinning inside your DPC you avoid these
problems. The Windoze kernel protects itself and does not execute
scheduled DPC when the CPU is in the middle of a PCI access or anything
similar. For sure, when a CPU makes a PCI access its "IRQL" is raised to
"HIGH_LEVEL", which means that a dedicated spin lock is acquired and
that CPU's interrupts are disabled.
I did not take the above statement about IRQL from an official document,
I made it based on my experience and common sense.
More information about the coreboot