EC资料有个很好的CSDN博客推荐去看看:zhao_longwei的专栏

小弟是学硬件的,苦苦修行中,

SCI VS SMI

SCI:System Control Interrupt, 系统控制中断。专门用于ACPI电源管理的一个IRQ,需要OS支持。

SMI:System Management Interrupt, 系统管理中断,使用系统进入SMM的特殊中断。

两者区别:

SMI是CPU级别的,ACPI和非ACPI模式下都可以使用,而SCI是OS级别的,只有在ACPI support的OS中才能见到。比如说DOS下触发的中断肯定不是SCI,但有可能是SMI。

两者联系:

两者可以用于电源管理,但SMI不限于电源管理。

触发过程:

SMI:  (硬件方式)

SMI Pinassert -> CPU SMM mode -> BIOS SMI handler

SMI:(软件方式)

WriteIO(B2h) -> CPU SMM mode->BIOS SMI handler

SCI:

SCI Pinassert->IDT->OS ACPI driver->ASL code(Q Evnent)->?

http://www.aiuxian.com/relative/p-1103656.html

http://bbs.javaee.cc/post/289740_1_1.html

https://www.cnblogs.com/jyaray/p/7127316.html

http://www.chinafix.com/thread-1035371-1-4.html

https://blog.csdn.net/huangkangying/article/details/7918179

中断信号。也可以走LPC。但是有些对时效性有要求的,就走SCI/SMI了。SMI极少用到。主要是SCI比较多。 system management interrupt 系统管理中断 在繁忙中 请求停下来 先处理某个请求 中断有优先权 某个级别比较高的中断

管理信息结构SMI(structure of management information)

它是简单网络管理协议(SNMP)的一部分,指定了在 SNMP 的 MIB 中用于定义管理目标的规则。

SMI: 系统管理中断 System Management Interrupt

SMI#:System Management Interrupt,系统管理中断

An OS-transparent interrupt generated by interrupt events on legacy systems. By

contrast, on ACPI systems, interrupt events generate an OS-visible interrupt that is

shareable (edge-style interrupts will not work). Hardware platforms that want to

support both legacy operating systems and ACPI systems must support a way of remapping

the interrupt events between SMIs and SCIs when switching between ACPI

and legacy models.

SCI:beyond compare,系统控制中断

A system interrupt used by hardware to notify the OS of ACPI events. The SCI is an

active, low, shareable, level interrupt.

大师说:SCI主要是在进入ACPI后,ACPI用的中断信号。SMI一般在ACPI状态之前使用的用来做后台中断的东西。在ACPI后 ,SMI就自动关闭,切换到SCI的方式。

SMI少量的会在ACPI的状态下还可以正常工作。主要是用来执行 一些超脱操作系统的特殊的代码。

联想当年的被美国禁用的主要原因就是SMI的问题。他的权限超过操作系统。超脱在操作系统之外

总之,功能一切正常,就是不能正常关机的。刷了BIOS换了桥还不好,查查这些吧。

PME:PCI Express Native Power Management Events control

The firmware sets this bit to 1 to grant control over control over PCI Express native power

management event interrupts (PMEs). If firmware allows the OS control of this feature, then

in the context of the _OSC method it must ensure that all PMEs are routed to root port

interrupts as described in the PCI Express Base Specification. Additionally, after control is

transferred to the OS, firmware must not update the PME Status field in the Root Status

register or the PME Interrupt Enable field in the Root Control register. If control of this

feature was requested and denied or was not requested, firmware returns this bit set to 0.

电源管理的中断。因为在休眠状态下,设备的其他中断是关闭的,只能通过这个通知系统来唤醒设备用的。设备休眠了,没有这个信号,系统就不知道什么时候要唤醒他。就一直睡下去了。可能会整个系统都停了。

SCI与SMI的区别与联系

SMI: System Management Interrupt,系统管理中断,进入SMM的方法,包含(但不限于)电源管理功能,对OS透明的;

SMI pin触发后,CPU进入SMM Mode,转去执行BIOS中的SMI Handler。

SMI pin--> CPU SMM Mode --> BIOS routine

SCI: System Control Interrupt,系统控制中断,是ACPI定义的,专用于ACPI电源管理的一个IRQ,需要OS支持的。

SCI pin触发后,CPU去执行某个放在中断描述表(IDT)中的程式,一般都是指向某个驱动程式(ACPI.sys),ACPI driver会通知相关的驱动程式(ACPI EC Driver),然后跟EC BIOS取得一个代码,而这个代码就是ASL code中的Qxx Number,接着OS会去执行相应的ASL Code,一般都是Method(Qxx)。

SCI pin --> OS Acpi Driver --> ASL Code (Q event) --> ? (看BIOS Spec需求)

联系:都可以用于电源管理功能

区别:SMI是CPU级别的,ACPI和非ACPI模式下都可以用;SCI是OS级别的,只有在ACPI模式才可以用。

SCI只能在ACPI的OS下发出来,如果在DOS下能触发的中断,那肯定不是SCI,那可能是SMI。SMI同样可以在OS下发出来。在进入ACPI的OS后,Bios把CPU的控制权交给OS,SMI还是可以发出来的。SMI大部分由硬件来issue,也可以发soft SMI,一般是在port 0B2h下command,然后在SMI Handle中加入对cmd的动作即可。

SCI_INT

FADT的Offset46为SCI_INT field。

它记录了在PIC Mode下,SCI连接到8259的哪个pin(通常都是IRQ9);在APIC Mode下,它记录了SCI interrupt的Global System interrupt number。

如果在PIC Mode下SCI连接到IRQ9,而在APIC Mode下IRQ9连接到INTIN11,则在FADT中SCI_INT为9, MADT中interrupt resource override entry mapping 将IRQ9 mapping到INTIN11。

如何把SCI_INT从IRQ9改成IRQ11?

三个地方要改:

1. SCI IRQ Select(D31:F0:R44h bit[2:0])由000h(IRQ9)改成010h(IRQ11)

2. FADT中SCI_INT 由9改成11

3. MADT中interrupt resource override entry, Source 0x09; GSI:由0x09改成0x0B

java调用BIOS中断,SMI#、SCI#信号在OS、BIOS、EC中的中断方式(Linux)相关推荐

  1. Java 调用 Python 方法学习笔记

    文章转载自: 作者:IT_xiao_bai                         来源:CSDN                         原文:https://blog.csdn.n ...

  2. mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv

    详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...

  3. 花了一天,解决java调用matlab

    鉴于labview做不了web(labview强项在于硬件仪器控制,可能也可以做web,还不会),虽然有web发布工具,但是基于远程前面板,最后效果都呈现在前面板上(涉及了跳转页面.matlab绘图等 ...

  4. BIOS知识枝桠——SCI SMI IRQ

    SCI SMI 中断 中断分析 SCI SMI SMM SCI和SMI的异同 特殊的GPE: Q event SMI的几种常见的注册 SWSMI的触发 常见SMI的应用 中断 中断: 指当出现需要时, ...

  5. EC中的QEvent(SCI中断)

    文章目录 前言 一.QEvent(SCI中断)是什么? 二.查询事件过程 前言 SCI中断信号是由EC的PMC电源管理通道产生,通过EC芯片的SCI引脚发送到CPU的SCI引脚.中间一般接有电平转换芯 ...

  6. java调用scilab_Java调用Scilab-编译运行Javasci v2

    1 Scilab简要介绍 Scilab 是由法国国家信息.自动化研究院(INRIA)的科学家们开发的"开放源码"软件. Scilab是开源的软件,用户不仅可以在Scilab的许可证 ...

  7. 服务器无法继续该事务 3400000006 错误原因--JAVA调用SQLSERVER存储过程时过程发生异常内部事务未

    通过JAVA调用SQLSERVER存储过程时,存储过程内部发生了类型转换异常,在类型转换异常发生之前已经将事务打开了,并且在类型转换那一行没有采用像如下错误处理: if @@error<> ...

  8. Java调用存储过程(返回:简单类型VARCHAR、自定义对象STRUCT、列表数组VARRAY)

    ORACLE 存储过程 练习七 数组专题 写在前面的废话 由于工作需要经常用到 ORACLE存储过程 其中数组是不可避免的一组成元素.那么让我们来体会一下 ORACLE存储过程的数组到低是如何使用的. ...

  9. 流媒体方案,技术开源项目,包含Java调用FFMpeg(FFCH4J),推拉流服务器,nginx-http-flv-module,ckplayer,Flv.js,EasyPlayer.js集成

    文章目录 streaming_media 介绍 ckplayer拉流播放 软件介绍 功能介绍 软件架构 安装教程 使用说明 EasyPlayer.js拉流播放 简介 功能说明 集成使用示例 普通集成 ...

最新文章

  1. JavaFX打包工具(javafxpackager)
  2. SQL注入——基于报错的注入(五)
  3. WPF Application 类介绍以及怎样修改启动方式
  4. Git系列笔记之一:git的简介及基本配置
  5. Linux如何处理 Too many open files
  6. 到 2022 年,75% 的数据库将托管在云端
  7. linux 日志 \var\log
  8. 最长递增子序列 动态规划
  9. leetcode笔记(Python版)待更新
  10. emoji java 转码_Java Emoji Converter (Emoji表情转换工具)
  11. Jdk8下载安装配置教程
  12. 标签打印软件如何设置单排标签纸尺寸
  13. excel保存快捷键_Excel快升效率的快捷键
  14. CCW:浪潮云+智能协同云平台获评“用户首选品牌”
  15. 棋盘覆盖问题(分治)
  16. 磁盘阵列柜性能介绍(一)
  17. 史上被骂最多的编程语言:JavaScript
  18. 不用发论文也不教课的12名教授,为这个研究所拿下8次学界最高奖
  19. 有了 HTTP 协议,为什么还需要 Websocket?
  20. 【网络协议趣谈】HTTPS协议加密证书和工作模式

热门文章

  1. 2020年R1快开门式压力容器操作复审模拟考试及R1快开门式压力容器操作作业模拟考试
  2. 计算机本地磁盘类型gpt,选中的磁盘采用gpt分区形式怎么操作_win7为磁盘选择gpt分区形式教程...
  3. Date日期类型转换
  4. 2012年年历下载(Excel格式,可打印)
  5. selenium IDE版本与火狐浏览器版本
  6. Multimix:从医学图像中进行的少量监督,可解释的多任务学习
  7. python飞机大战代码/day14
  8. 流氓软件新技术,8749病毒详细分析报告
  9. 太奇怪了!小公司面试全挂,大厂面试全过,为什么小公司要求比大厂还高?...
  10. 计算机闭环控制系统原理,闭环伺服控制原理与系统