· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Кнопка RESET :)

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Сен 10, 2004 16:56:57

Возможно ли программно проконтролировать кнопку RESET? То есть например проигнорировать ее нажатие? Или это все происходит физически?


Дата: Сен 10, 2004 17:10:07

физически, если не ошибаюсь, кнопка reset посылает сигнал материнке, чтобы та просто кратковременно отключила питание


Дата: Сен 10, 2004 18:33:16

На новых платах (какие в магазине под Атлон 2500 дают) кнопка Power Програмная- если на нее нажимаешь, XP просто завершает работу а потом отрубает комп (даже если комп выключен, а ты втыкаешь его в розетку, на клаве лампочки вспыхивают!)


Дата: Сен 10, 2004 18:43:54

насколько я в курсе все последние чипсеты (ну если не все то большая их часть) предусматривают возможность совершения некоторых действий по нажатию ресета (ну так что-то деиницилизировать...) и потому его теоритически можно перехватить и проигноировать... практически все не так просто. во-первых, это жутко системно-зависимо, во-вторых, нужен доступ к портам, в третьих, иницилизация струкур данных, отвественных за перехват ресета обычно осуществляется на этапе иницилизации самого чипсета (за это отвечает BIOS) и не может быть перепрограммирована на лету, и даже там где может, таблица обработчиков не может находиться в ОЗУ, а только в BIOS'е, а это значит, что единственный известный мне путь перехватить ресет - пропатчить BIOS.
вот тут написал это и полез посмотреть как это сделано в железе ;) ага, на некоторых дешевых матерях ресет реализован чисто аппаратно и возможности чипсета там незадействованы...


Дата: Сен 10, 2004 20:09:29

На процах есть ножка /RES.
При нажатии на reset эта цепь просто на зымлю замыкается.


kaspersky > „все последние чипсеты (ну если не все то большая их часть) предусматривают возможность совершения некоторых действий по нажатию ресета“

Можно хотя бы названия этих чипсетов?


Дата: Сен 10, 2004 20:49:12

> На процах есть ножка /RES.
> При нажатии на reset эта цепь просто на зымлю замыкается.
на дешевых матерях все так и есть. в более дорогих эта нога идет в чипсет, что видно по разводке.

> Можно хотя бы названия этих чипсетов?
в AMD 760 точно есть


Дата: Сен 11, 2004 00:50:58

короче оно того не стоит.


Дата: Сен 11, 2004 01:26:22 · Поправил: S_T_A_S_

Тааак.. читаем доку на южный мост: AMD-766™ Peripheral Bus Controller Data Sheet

„4.1.1 Resets
The IC generates an internal reset for the VDD_AUX power plane called RST_SOFT. RST_SOFT lasts for about 30
milliseconds after the VDD_AUX plane is greater than 2.5 volts. See section 4.6.1.5.1 for details.
PWRGD is the source of reset for some of the IC’s VDD3 logic. From this signal, RESET# and CPURST# are
derived. See section 4.6.1.5.1 for details.
It is possible to generate system resets via C0A47[SWPCIR].
Various system resets may be initiated through PORTCF9.
It is also possible to reset the processor (without clearing the cache) with an INIT interrupt through the keyboard
controller via KBRC#, the PORT92 register, or from a PCI-defined shutdown special cycle from the host.“


VDD_AUX и PWRGD нас не интересуют - это аппаратные события связанные с изминением питания.


Смотрим описание регистра C0A47[SWPCIR]:

„C0A47: Miscellaneous Control 2 Register

SWPCIR. Software PCI reset. Write only. When this bit is written with a 1, a 1.5 to 2.0 millisecond reset pulse is
generated over PCIRST# and CPURST#.“


Ага, записью сюда можно вызвать reset..
Интересно, но к кнопке отношения не имеет.


Дальше..

„PORTCF9: Miscellaneous SMI Status Register
Note: This register is enabled by C3A41[PCF9EN].

SYSRST. System reset. Read-write. This bit specifies whether a full system reset or a processor INIT# interrupt is
generated when PORTCF9[RSTCMD] is written to a 1. 1=Full system reset with PCIRST# and CPURST# asserted
for 1.5 to 2.0 milliseconds. 0=INIT# asserted for 16 PCI clocks.
RSTCMD. Reset command. Write only; always reads as a zero. 1=A reset is generated as specified by bits[3,1] of
this register (bits[3,1] are observed in their state when RSTCMD is written to a 1; their previous value does not
matter).
FULLRST. Full reset. Read-write. 1=Full resets require the IC to place the system in the SOFF state for 3 to 5
seconds; full resets occurs whenever (1) RSTCMD and SYSRST are both written high, (2) an AC power fail is
detected (PWRGD goes low without the appropriate command), or (3) PM46[2NDTO_STS] is set while
C3A48[NO_REBOOT]=0. 0=Full resets do not transition the system to SOFF; only the reset signals are asserted.“


Так, тоже можно делать програмный reset если.. (см. note выше):


„C3A41: General Configuration 2 Register

W4SG. Wait for stop-grant before deasserting STPCLK#.[.....]
STPGNT. PCI stop-grant cycle specification.[.....]
NO_REBOOT. Do not reboot the system when a double TCO timer time out occurs. Read-write. 0=Reboot system
with as specified by PORTCF9[FULLRST] when PM46[2NDTO_STS] is set. 1=Do not reboot the system.
TMR32. ACPI timer size selection.[.....]
PBIN. Power button in. Read only. This bit reflects the current state of the PWRBTN# pin (before the debounce
circuit). 0=PWRBTN# is asserted.
PCF9EN. Port CF9 enable. Read-write. 1=Enable access to PORTCF9.
TMRRST. ACPI timer reset.[.....]
PMIOEN. System management IO space enable.[.....]“


Что тут интересного? double TCO timer тоже не то..

А вот PBIN это уже интересно - статус кнопки питания соответствующий уровню на ноге PWRBTN#. опрешивается програмно, что мы и видим в виндосе, когда выбираем реакцию на нажатие кнопки Power.

Логично, что для програмного опроса Reset тоже должен бы быть такой бит ;-)

Смотрим pinout IC. (сюда копировать нет возможности)
Ни в нём, ни в Alphabetical listing of signals and corresponding BGA designators я ничего подобного не нашёл.

Выводы?

Обращаем внимание, что написАл Funbit и возвращаемся к нашим баранам - VDD_AUX и PWRGD.



ЗЫ
На серьёзных машинах кнопки reset просто нет. Если б её можно было б отключить програмно..


Дата: Сен 11, 2004 01:37:43 · Поправил: kaspersky

> На серьёзных машинах кнопки reset просто нет.
> Если б её можно было б отключить програмно..
я не знаю, что ты понимаешь под "серьезной" машиной,
мож супер-компьютер какой ;) но в реальной жизни мы
просто берем мать, смотрим куда ведет ресет (если,
конечно он там есть) и, если он ведет на чипсет,
(а в некоторых случаях это так) то смотрим номер
ножки и читаем ее описание в доке. если не ошибаюсь
то в доке для биос-девелоперов от амд что-то проскакивало
про обработку ресета... дело тут вот в чем. современные
FLSH-биосы при некоторых обстоятельствах пихают внутрь
себя некоторую конфигурационную инфу и если в это время
рубануть ресет или вырубить питание - биос сдохнет.
и такие случаи были если верить форумам! поэтому дорогие
мамкм вынуждены обрабатывать ресет, защищая юзера от себя
самого...
кстати, вспоминл - в некоторых манулах на матери в описании
биос ситап встречался такой пункт - реакция на ресет:
немедленна или отложенная перезагрузка. отложенная гарантирует, что переферия завершит весь текущий I/O.
так что чипсет все-таки его _перехватывает_


Дата: Сен 11, 2004 03:00:50

kaspersky > „я не знаю, что ты понимаешь под "серьезной" машиной, мож супер-компьютер какой ;) “

В данном случае, компьютер reboot которого крайне нежелателен.
Это может быть обычный компьютер, сообранный в корпусе вроде InWin S508 (без reset) или в обычном корпусе, но reset просто не подключают.


> „но в реальной жизни мы просто берем мать, смотрим куда ведет ресет (если, конечно он там есть) и, если он ведет на чипсет, (а в некоторых случаях это так) то смотрим номер ножки и читаем ее описание в доке.“

Ключевых слов тут 2 - "просто" и Four-layer PCB.
Я, возможно, плохо искал в мануале, но всё же ничего подобного не нашел.


> „если не ошибаюсь то в доке для биос-девелоперов от амд что-то проскакивало про обработку ресета...“

Можно конкретнее? Вот этот документ: AMD-761™ System Controller Software/BIOS Design Guide
Тут есть про обработку reset - нужно инициализировать регистры чипсета. Видимо, я что-то пропустил.


> „современные FLSH-биосы при некоторых обстоятельствах пихают внутрь себя некоторую конфигурационную инфу и если в это время рубануть ресет или вырубить питание - биос сдохнет.“

Самомодифицирующийся интеллектуальный flash?


> „и такие случаи были если верить форумам!“

На форумах, бывает, и сказки рассказывают..


> „в некоторых манулах на матери в описании биос ситап встречался такой пункт - реакция на ресет:
немедленна или отложенная перезагрузка. отложенная гарантирует, что переферия завершит весь текущий I/O.“


Модели матерей! Я видел не одну сотню мануалов, но такого не встечал.
Реакция на Power - пожалуйста.


> „так что чипсет все-таки его _перехватывает_“

Моих знаний в настоящее время недостаточно, что бы говорить что-то конкретное.
До чтений док ^^ я был уверен, что reset просто идёт в south bridge, а тот его рассылает остальным устройствам (в частности CPU).
Теперь я склоняюсь к мысли, что используется дополнительноая внешняя логика, которая что-то там с ним делает и выполняет reset южного моста путём манипуляций с PowerGood.

Но мы плавно удалились от темы.
Сам смысл reset - воздействие на компьютер независимо от его состояния (он предназначен для аварийных ситуаций)
Иначе, это будет какой-нибудь NMI.


Дата: Сен 11, 2004 07:47:06

А вот если такой "безопасный" reset заглючит и не сработает, останется только применить "ручной" reset он же shutdown :)
Я больше доверяю обычному reset'у.


Дата: Сен 11, 2004 23:00:28

Asterix > „вот если такой "безопасный" reset заглючит “

Ну вот, и те мозги запудрили =)
Я же пока не вижу никаких доказательств этой ТЕОРИИ :).


Дата: Сен 11, 2004 23:34:12

Возможно, я скажу не в тему, но у меня как-то был случай, когда мой комп повис настолько плотно, что даже не реагировал ни на нажатие Reset'а, ни на нажатие Power’а... Пришлось выключать его из розетки.

З.Ы.: Motherboard Asus CUSL2-C (chipset: Intel 815ep), processor: Pentium III (Socked 370).


Дата: Сен 13, 2004 02:34:15

Oleg_SK

А можно подробнее про это, в чём выражается „комп повис“, какая-нибудь картинка на экране присутствовала? индикаторы питания / HDD горели?

Дело в том, что встречается подобный глюк: комп находится в Soft Off Mode, но БП работает (крутится кулер), при этом естественно, экран чёрный, лампочки не светятся (хотя на некоторых платах индикатор Power может гореть). Это по-видимому связанно с какими-то проблемами по питанию, при этом Power Good не активен, соответственно логика на материнке считает, что напряжения питания нет - кнопки и не работают - комп-то считается выключеным.


Дата: Сен 13, 2004 03:00:05 · Поправил: Oleg_SK

S_T_A_S_
Монитор, я уверен, работал. Индикатор активности HDD, насколько я помню, не святился. Таким образом, комп работал, но не на что не реагировал. Я просто работал с компом а потом он взял и завис (уже не помню чем я тогда занимался, т.к. давно это было).

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 3.912