Коллекционирую (для реверса) биосы EC (embedded controller)

Всем доброго времени суток!

Сейчас занимаюсь темой анализа биосов от ноутбуков, а именно их первых 64 кб (что специально для EC/SuperI/O)
Соответственно, ищу, для общего анализа.

Если есть биос основной при этом - не откажусь от куска, который отвечает за загрузку и работу с EC.
Но это я и сам могу найти.

Спасибо!

Аватар пользователя icbook

Имеется в наличии:

  • неизвестный комплект с H9.exe, работающий под управлением AllowIO for PortTalk V2.0
  • PhoenixBIOS c отдельностоящим EC BIOS и Flash Memory Download Utility for Hitachi H8/F Rev1.32 для ViewSonic V1100
  • Фрагмент ASL-кода, начало которого подаю ниже
#define N_Retry                 4
#define EC_SCI                  0x04    // EC SCI is connected to GPE0, bit 4
#define SMBOffset               0x18    // SMBus registers base in EC space
#define SMB_Data                0x1C    // = SMBOffset+4
#define P5xOffset               0x48    // IOPort registers base in EC space
#define P60_67IOPortOffset      0x50    // IOPort registers base in EC space
#define P60_StatusIOPortOffset  0x78    // IOPort registers base in EC space
#define IOPortOffset            0x18    // IOPort registers base in EC space

Аватар пользователя XVilka

о! то что надо

Принимаю в любом виде :)

Аватар пользователя icbook

ec_227.zip
v1100.zip
Лежать будет до завтрашнего вечера. Если ASL нужен, то выложу чуть позже.
UPD. Уже не лежит:)

Аватар пользователя Root

XVilka
я вообще не понял - а в чем проблема набыдать дампы?
Взять к примеру АСУС. У них на большинство ноутбуков прошивки лежат в открытую для скачивания на оф. сайте.


Т.к. на большинстве АСУСов стоят EC типа ITE, которые берут свою прошивку из Main BIOS, то можно наковырять очень много дампов.
Кстати, именно по этой причине ноуты с запорченным БИОСом не включаются - к EC подсоединена кнопка включения к контакту GPIO, а такие ноги программируются прошивкой...
Второй пример - у IBM отдельно лежат обновления прошивок (Main BIOS) и обновления прошивки KBC (на IBM обычно используется H8S, который имеет встроенный ROM). Наковырять образов тоже не проблема.
Если есть конкретные вопросы - welcome в аську.

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Аватар пользователя XVilka

Честно - просто не подумал об этом.
Ведь и правда все доступно :)

Аватар пользователя icbook

Device(EC)
        {
                Name(_HID,EISAID("PNP0C09"))
                Name(_GPE,0x01)
                Name(ECOK, 0x00)

                Method(_REG, 2)
                {

                   if (LEqual(Arg0, 0x03))
                      { 
                        Store(Arg1, ECOK)
                      }

                     \REAB() 
                     Store(1,\FWA3)
                }

                Name(_CRS,ResourceTemplate()                   // Current Resource Settings
                {
                        IO(Decode16,0x62,0x62,0x1,0x1)         // Fixed IO
                        IO(Decode16,0x66,0x66,0x1,0x1)         // Fixed IO
                })

                OperationRegion(ERAM,EmbeddedControl,0x0,0xFF)
                  Field(ERAM,ByteAcc,NoLock,Preserve)
                  {
                          Offset(0x04),
                          CMCM,8,
                          CMD1,8,
                          CMD2,8,
                          CMD3,8,
                          Offset(SMBOffset),
                          SMPR, 8,                      // SMBus protocol register
                          SMST, 8,                      // SMBus status register
                          SMAD, 8,                      // SMBus address register
                          SMCM, 8,                      // SMBus command register
                          SMD0, 0x108,                  // SMBus data registers (32)
                                                        // + SMBus block count
                          SMAA, 8,                      // SMBus Alarm Address
                          Offset(0x4E),         
                          ,5,
                          P55,1,
                          Offset(0x78),
                          P60,1,
                           ,1,
                          P62,1,
                           ,1,
                          P64,1,
                           ,1,
                          P66,1,
                          P67,1,
                          // BatteryMark issue
                          Offset(0x81),
                          SP81,8,
                          Offset(0x83),
                          SP83,8,
                          // BatteryMark issue
                          Offset(0x89),
                          SP89,8,
                          Offset(0x8B),
                          SP8B,8,
                          Offset(0x90),                 // Thermal monitor 0 [AC080200]
                          T1SP,8,                       // Spec -0x90
                          T1AD,8,                       // Slave address -0x91
                          T1CM,8,                       // Command -0x92
                          T1VL,8,                       // Value -0x93
                          T1LW,8,                       // Low -0x94
                          T1HG,8,                       // High -0x95
                          TSK1,8,                       // -0x96
                          T1CR,8,                       // Critical -0x97
                          Offset(0x98),                 // Thermal monitor 1
                          T2SP,8,                       // Spec  -0x98
                          T2AD,8,                       // Slave address -0x99
                          T2CM,8,                       // Command -0x9a
                          T2VL,8,                       // Value -0x9b
                          T2LW,8,                       // Low -0x9c
                          T2HG,8                        // High -0x9d
                  }

                  Field(ERAM,ByteAcc,NoLock,Preserve)
                  {
                          Offset(P5xOffset),
                          P54S, 8,                      // P54 SPEC protocol register
                          P55S, 8,                      // P55 SPEC protocol register
                          P54T, 8,                      // P54 Task protocol register
                          P55T, 8,                      // P55 Task protocol register
                          temp1 ,16,
                          temp2  , 5,


                Offset(P60_67IOPortOffset),
                P60S, 8,                        // P60 SPEC protocol register
                P61S, 8,                        // P61 SPEC protocol register
                P62S, 8,                        // P62 SPEC protocol register
                P63S, 8,                        // P63 SPEC protocol register
                P64S, 8,                        // P64 SPEC protocol register
                P65S, 8,                        // P65 SPEC protocol register
                P66S, 8,                        // P66 SPEC protocol register
                P67S, 8,                        // P67 SPEC protocol register

                P60T, 8,                        // P60 Task protocol register
                P61T, 8,                        // P61 Task protocol register
                P62T, 8,                        // P62 Task protocol register
                P63T, 8,                        // P63 Task protocol register
                P64T, 8,                        // P64 Task protocol register
                P65T, 8,                        // P65 Task protocol register
                P66T, 8,                        // P66 Task protocol register
                P67T, 8,                        // P67 Task protocol register
                  }


        Field(ERAM, ByteAcc, NoLock, Preserve)
        {
                Offset(SMB_Data),
                SMW0, 16,                       // SMBus data word field
        }
        Field(ERAM, ByteAcc, NoLock, Preserve)
        {
                Offset(SMB_Data),
                SMB0, 8,                        // SMBus data byte field
        }

Аватар пользователя XVilka

Спасибо!

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей