Wednesday, February 23, 2011

ACPI S3 sleep related oprations

1. Testbed: Dell dimension computer
2. Use "R-W everything" to read the ACPI tables.
3. Find following in the SSDT table:

Scope(\)
{
Name(\_S0, Package(4) {Zero, Zero, Zero, Zero})
Name(\_S3, Package(4) {0x03, 0x03, Zero, Zero})
Name(\_S4, Package(4) {Zero, Zero, Zero, Zero})
Name(\_S5, Package(4) {0x02, 0x02, Zero, Zero})
}

4. Explanation about S4 is in ACPI spec, Section 7.3.4 System \_Sx states

Thursday, February 17, 2011

TCG architecture overview

TCG architecture overview

最近在看TCG (TRUSTED COMPUTING GROUP)相关的东西。目前只看了一个大概,感觉就是一堆东西。如下:

一堆SPEC:
以前看PCI, PCIE, ACPI啥的,基本也就是2,3个相关的SPEC吧。可是在看TCG的时候,发现有一堆的SPEC要看。还好似乎在每个TCG OR TPM 相关的SPEC的前面,都有一个图,告诉了这些SPEC的关系。一般来说按照箭头走,从最上面看起就可以了。不过我跳过了第一个ROAD MAP AND GLOSSARY. 目前只看了TCG architecture overview。理解的不一定全对,欢迎指正。

一堆KEY:
以前就知道TPM里面可以保存KEY. 看了SPEC 之后才发现原来有一堆的KEY. 这样的好处是提高了安全性。因为TPM可以有很多操作,如果全用一个KEY的话,那么被破的机会会大很多。

一堆层:
TPM是最底下的硬件。在上面还有一个OS DRIVER 级别的层,叫TPM Device Driver。然后在上面USER LEVEL 还有3层:TCG Device Driver Library(TDDL) , TSS Core Services (TCS), TCG Service Provider(TSP),每层都有一个接口。

一堆PROTOCOL:
有ADIP, ADCP ,AACP ,OIAP and OSAP。 ADIP, ADCP and AACP are used to create and manage authorization information, which is contained in objects under the control of the TPM. Additionally OIAP and OSAP are used to establish authorized session contexts leveraged by the other protocols.


一堆API:
这些API 是和之前的一堆层对应的。每层都有一个API. 这些函数和COMMAND 的形式都定义好了,厂商去实现就可以了。

当然,TPM 最著名的是PCR,还有BINDING, SIGNING 等操作。这些就不说了,直接看规范吧。

另外,TPM 也考虑到了检查其他硬件,比如VIDEO, NETWORK 状态的情况,也考虑到了升级的情况。不过还没看到具体要求。

如果没有硬件,还可以用一个软件的模拟器来熟悉下TPM。网站如下:
http://tpm-emulator.berlios.de/index.html

Wednesday, February 16, 2011