disabling SMI

I have a real-time app that runs on a P4. The box we are running it on has an Aopen i865PEa-7IF motherboard. We are using the On-Time RTOS. We have found that every 37 seconds the app completely stops running for 250 microseconds. Using a PCI bus analyzer we discovered that between the last operation done by my app and when my app resumes running shows 100's and 100's of I/O reads and writes to addresses B3, EB, and 61. Googling on this has led me to believe that these accesses are related to SMI's and SMM. I have disabled everything in the BIOS - USB, LAN, power management, serial and parallel ports, modem, firewire, MIDI and game ports - yet my app still stops and I still see these accesses.

Does anyone know how I can totally disable the SMI's?

TIA!

-larry

Reply to
Larry.Martell
Loading thread data ...

Are you using an Intel processor with this, or a compatible non Intel part? I have experienced a similar problem when we switched components once, but I forget which (non Intel) part was giving us the grief. It turned out to be some silicon bug which had been mentioned on the On-Time support archive. Sorry my memory of it is too sketchy but I think there was some way of disabling the SMI in software during the start-up routine - but this then lead me to a different problem and in the end I just ditched the processor for a different variant.

It might be that your problem is completely different but I suggest looking through the On-Time support archive for SMI or SMM. You should hit some info if you go back far enough.

Regards, Richard.

formatting link

*Now for ARM CORTEX M3!*
Reply to
Richard

I am using an Intel 3.6 GHz P4 (775 socket)

I've been told this by others as well, but my searches in the archives have not turned up any hits.

Thanks!

-larry

Reply to
Larry.Martell

My bad - I found these posts, but they're all related to the AMD Geode GX-1 CPU, not the P4. I did try what was suggested in those threads, but it didn't help in my situation atl all.

-larry

Reply to
Larry.Martell

We've seen this (150+ us delays in our case), and it was caused by SMI's. Most BIOS'es do not allow you to disable SMI's. You'll have to program the South Bridge to disable them yourself.

This is highly dependent on the particular chipset, so you should download chipset documentation from Intel (freely available). In the power management registers of the South Bridge, there's usually a "SMI global enable" bit, which you want to set to zero.

-- Cyril

Reply to
Cyril Novikov

formatting link
formatting link
snipped-for-privacy@gna.org/msg01507.html

--Armin

Reply to
Armin Steinhoff

Thanks very much for this reply Cyril. It was very helpful. It led me to discover that my motherboard does not have a Northbridge/Southbridge architecture; it has the newer IHA with a GMCH and ICH. I got the docs on my ICH, found the SMI control and enable register, and modified my program to clear the global SMI enable bit. This has stopped the SMI's. Thanks again!

-larry

Reply to
Larry.Martell

The code at this link is for the AMD Geode GX-1. It is not applicable to the P4.

-larry

Reply to
Larry.Martell

I also have a real-time app that runs on P4. It is running on AAEON MB-845GE motherboard. CPU stalls for 250us for unknown reason. This event is not periodic, sometimes it is after less than a minute, sometimes you have to wait for few minutes. Motherboard is using Intel 845GE chipset. I downloaded datasheet for South Bridge and wrote small program to read SMI enable registers. All values are default (as specified in datasheet), that is, SMI disabled. After that, I disabled Thermal Monitor on CPU (TM1 & TM2) by writing to MSR IA32_MISC_ENABLE (bits 3 and 13). No change. Still have 250us stall.

'cli' did not help, disabling APIC didn't help, disabling ALL interrupts on PIC didn't help, writing to Intel Software Developers Forum didn't help...

Slavisa Zigic

In comp.realtime snipped-for-privacy@gmail.com wrote: : Armin Steinhoff wrote: :> snipped-for-privacy@gmail.com wrote: :> > I have a real-time app that runs on a P4. The box we are running it on :> > has an Aopen i865PEa-7IF motherboard. We are using the On-Time RTOS. :> > We have found that every 37 seconds the app completely stops running :> > for 250 microseconds. Using a PCI bus analyzer we discovered that :> > between the last operation done by my app and when my app resumes :> > running shows 100's and 100's of I/O reads and writes to addresses B3, :> > EB, and 61. Googling on this has led me to believe that these accesses :> > are related to SMI's and SMM. I have disabled everything in the BIOS - :> > USB, LAN, power management, serial and parallel ports, modem, firewire, :> > MIDI and game ports - yet my app still stops and I still see these :> > accesses. :> >

:> > Does anyone know how I can totally disable the SMI's? :>

:>

formatting link
:>
formatting link
snipped-for-privacy@gna.org/msg01507.html

: The code at this link is for the AMD Geode GX-1. It is not applicable : to the P4.

: -larry

Reply to
Slavisa Zigic

I found a way to disable SMI. Furthermore, I found that TCO_EN bit is causing SMI#. I am using Intel 82801DB ICH4.

How safe it is to disable SMIs? Is there any problem with overheating of CPU or any other side effect?

Thanks,

Slavisa Zigic In comp.realtime Slavisa Zigic wrote: : I also have a real-time app that runs on P4. It is running on AAEON MB-845GE : motherboard. CPU stalls for 250us for unknown reason. This event is not : periodic, sometimes it is after less than a minute, sometimes you have to : wait for few minutes. Motherboard is using Intel 845GE chipset. I downloaded : datasheet for South Bridge and wrote small program to read SMI enable : registers. All values are default (as specified in datasheet), that is, SMI : disabled. : After that, I disabled Thermal Monitor on CPU (TM1 & TM2) by writing to MSR : IA32_MISC_ENABLE (bits 3 and 13). No change. Still have 250us stall.

: 'cli' did not help, disabling APIC didn't help, disabling ALL interrupts on : PIC didn't help, writing to Intel Software Developers Forum didn't help...

: Slavisa Zigic

: In comp.realtime snipped-for-privacy@gmail.com wrote: : : Armin Steinhoff wrote: : :> snipped-for-privacy@gmail.com wrote: : :> > I have a real-time app that runs on a P4. The box we are running it on : :> > has an Aopen i865PEa-7IF motherboard. We are using the On-Time RTOS. : :> > We have found that every 37 seconds the app completely stops running : :> > for 250 microseconds. Using a PCI bus analyzer we discovered that : :> > between the last operation done by my app and when my app resumes : :> > running shows 100's and 100's of I/O reads and writes to addresses B3, : :> > EB, and 61. Googling on this has led me to believe that these accesses : :> > are related to SMI's and SMM. I have disabled everything in the BIOS - : :> > USB, LAN, power management, serial and parallel ports, modem, firewire, : :> > MIDI and game ports - yet my app still stops and I still see these : :> > accesses. : :> >

: :> > Does anyone know how I can totally disable the SMI's? : :>

: :>

formatting link
: :>
formatting link
snipped-for-privacy@gna.org/msg01507.html

: : The code at this link is for the AMD Geode GX-1. It is not applicable : : to the P4.

: : -larry

Reply to
Slavisa Zigic

Since this thread seems to contain valuable information, I have gone to the trouble of correcting the top-posting and making it readable. It is much easier to just avoid top-posting in the first place. Your answer belongs after, or intermixed with, the material to which you reply.

--
 "Our enemies are innovative and resourceful, and so are we. 
  They never stop thinking about new ways to harm our country
 Click to see the full signature
Reply to
CBFalconer

Depending on the specific MB, disabling SMI's could cause USB, power management, audio, on-board NIC, MIDI, and joystick interfaces to not work. On my platform (an Aopen i865PEa-7IF) the USB and NIC are still working, and the other things are not needed by my app.

Thanks for doing this. Top-posting drives me crazy!

-larry

Reply to
Larry.Martell

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.