Re: How to generate a #SMI?



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

.



Relevant Pages

  • Re: How to generate a #SMI?
    ... management mode (SMM for short). ... there is only one way to enter SMM, which is through #SMI. ... the system provides a special I/O port; ... only occurs on read or writes for the I/O port. ...
    (comp.lang.asm.x86)
  • Re: How to generate a #SMI?
    ... areas that are otherwise protected and the System BIOS would ... to generate an SMI. ... the system provides a special I/O port; ... SMI on any system that supports ACPI. ...
    (comp.lang.asm.x86)
  • Re: [PATCH] x86: provide a DMI based port 0x80 I/O delay override.
    ... That may be an SMI, or perhaps any other kind of interrupt or exception. ... It appears to be the standard POST diagnostic port. ... So the ACPI BIOS thinks it has something to do with debugging. ... There's a little strangeness here, however, because the value sent to the port occasionally has something to do with arguments to the ACPI operations relating to sleep and wakeup ... ...
    (Linux-Kernel)
  • Re: [PATCH] [RESEND] Add Dell laptop backlight brightness display
    ... To do the proper SMI call requires parsing SMBIOS structure 0xDA, ... and getting the SMI index and io port and ...
    (Linux-Kernel)
  • How to generate a #SMI?
    ... How to generate a #SMI? ... management mode (SMM for short). ... the system provides a special I/O port; ...
    (microsoft.public.win32.programmer.kernel)