Re: How to generate a #SMI?
- From: "Alexei A. Frounze" <spamtrap@xxxxxxxxxx>
- Date: Mon, 18 Sep 2006 19:09:36 -0700
Lighter wrote:
How to generate a #SMI?
As we know, beginning with 80386, IA-32 processors provide three modes
of operation: 1, Real-address mode; 2, Protected mode; 3, System
management mode (SMM for short). According to the manuals of Intel,
there is only one way to enter SMM, which is through #SMI. But, I
wonder how the current process generates a SMI, because #SMI is an
external interrupt, and it cannot be generated by the instruction int
n.
Why should a process generate an SMI?
To my thinking, the current process can use I/O instructions to do
this. Say, the system provides a special I/O port; This port is an
interface of an actual device. Upon the device detectes signal at the
given port, it generates a #SMI.
Am I right?
Many thanks in advance to those who can explain this for me.
It's possible if there's such a port and it's connected to the SMI pin. But normally, this is something the hardware generates, not software. If there's some process for which the hardware needs a few CPU cycles, no matter in what mode the CPU is running now, then it generates an SMI and the SMI handler does the necessary processing. There might be different uses of it from bug fixes to device emulation and more.
Alex
.
- References:
- How to generate a #SMI?
- From: Lighter
- How to generate a #SMI?
- Prev by Date: Re: How to create a library that detects the processor and uses SIMD instructions as necessary
- Next by Date: Re: How to create a library that detects the processor and uses SIMD instructions as necessary
- Previous by thread: How to generate a #SMI?
- Next by thread: Re: How to generate a #SMI?
- Index(es):
Relevant Pages
|