OSDev
http://osdev.su/

как определить DMI и как с ним работать
http://osdev.su/viewtopic.php?f=7&t=1074
Страница 1 из 2

Автор:  scuter [ 05 апр 2015, 01:51 ]
Заголовок сообщения:  как определить DMI и как с ним работать

наконец то нашёл упоминание об этом устройстве, но не могу понять как его определить ( то что оно существует)

Автор:  pavia [ 05 апр 2015, 09:13 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

А такого устройства не существует.
Есть только шина и интерфейс
https://ru.wikipedia.org/wiki/DMI

Автор:  scuter [ 05 апр 2015, 15:03 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

ну вот как бы существует.
Код:
000a0000 VGA - VGA Video Buffer
000c0000 VGA BIOS
000e0000 ACPI RSDP
000e1000 DMI tables
000e2000 Net Boot ROM
000f0000 PC BIOS
e0000000 VGA LFB
f0000000 PCNet
f0804000 AHCI
fee00000 APIC Memory
ffff0000 PC BIOS

Автор:  pavia [ 05 апр 2015, 15:20 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

Это не устройство. Это просто таблица, которую генерирует BIOS при загрузке(или заранее).
http://www-pc.uni-regensburg.de/hardwar ... dmi_20.pdf
А вообще это устаревшее название теперь известно под названием SMBIOS
http://www.dmtf.org/standards/smbios
Пользы от этой таблицы я не вижу. Так как она частенько неполна и как пишут недостоверная.
Хотя порой в ней можно найти серийный номер материнской платы и виндоуса.

Автор:  scuter [ 05 апр 2015, 17:31 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

Ну хорошо тогда IPMI, SPD как определить что оно есть,
и опять же как с ним работать, хота SPD напоминает SMBus

Автор:  pavia [ 05 апр 2015, 17:55 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

SPD - это микросхема EEPROM -памяти на печатной плате ОЗУ (DDR, SDRAM).
В ней хранятся характеристики и описания ОЗУ.

Работа с SPD заключается в чтение характеристик и показу пользователю.
Лучше конечно прочитать через разбор таблиц DMI. Но можно и через шину SMBus.

Работа с шиной SMBus зависит от реализации. Она отличается в разных метеринских платах.
В атаче мой код когда-то делал для статьи. Статья не сохранилась поэтому напишу подробности потом.

Можешь посмотреть мои исходники. По работе с DMI и другими.
http://forum.sources.ru/index.php?showtopic=149656

Как программировать SMBus можно глянуть в ICH. Вот к примеру
http://www.intel.com/content/dam/doc/da ... asheet.pdf


Структуру SPD потом найду скину.

Вложения:
SMBus.zip [7.06 КБ]
Скачиваний: 393

Автор:  scuter [ 05 апр 2015, 18:24 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

спасибо.

кстати по поводу LPC контролера, там не указано где у него порты ввода вывода,
а на шине писиая только он то и определяется.

Автор:  pavia [ 05 апр 2015, 21:15 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

В верху я давал ссылку на южный мост Интела ICH 5, сейчас уже есть 9 версия если не десятая.

LPC контроллер расположен в южном мосте. Сам контроллер можно найти в PCI CFG южного моста. LPC контроллер по сути и является мостом который согласовывает сигналы шины "PCI" и шину LPC(ISA).

Но вы можете не беспокоится вам настраивать и программировать его не надо.
LPC шина это разновидность ISA шины. Доступ к устройствам на этой шине идёт через порты ввода/вывода(in AL, DX; out DX, EAX) .

Грубо говоря на этой шине находится наследство 80-тых годов, которое досталось современным ПК от оригинального PS/2 - а именно:
Контроллер последовательного порта(COM), DMA, PIC, LPT контроллер, 8042 (PS/2) и тому подобное.

1) "PCI" - в кавычках так как как сейчас там внутренняя шина южного моста программно совместимая с PCI. Хотя и несколько отличающеяся.

Автор:  pavia [ 05 апр 2015, 21:39 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

По поводу определения SPD. Сейчас вы не найдёте память без неё. Хотя бод столом у меня такая пылится. Отсутствие устройства определяется по отсутствия ответу по таймеру. Обычно в цикл 1-65535 раз проверяется наличие результата и если нет ответа то и устройства нет.

Расшифровка кодов SPD надо делать согласно:
Serial Presence Detect Standard, General Standard
SPD Rev1.0 for DDR SDRAM
SPD Rev1.2 for DDR2 SDRAM
SPD Rev1.3 for DDR2 SDRAM
SPECIALITY DDR2-1066 SDRAM

Ещё одна ссылка про SMBus,
Linux драйвера http://www.lm-sensors.org/wiki/I2CTools
SMBus - это интеловская копия с филиповской i2c.
Описания шин не привожу сами найдёте если надо.

Первые компы можно было легко повесить при работе с SMBus, так что даже кнопка выключения не работала. А всё из-за ошибки Intel.
А ещё мне однажды знание SMBus помогло свой ком восстановить после сбоя. Пришлось перепрошивать SPD из-за севшей батарейки ком начал глючить и при загрузке 2 байта стерлись в обоих платах.

Автор:  scuter [ 05 апр 2015, 21:51 ]
Заголовок сообщения:  Re: как определить DMI и как с ним работать

pavia писал(а):
LPC шина это разновидность ISA шины.

ну а порты i/o где там записаны, и работать с ними как с обычным писиаем.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/