Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс сен 24, 2017 11:28 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 40 сообщений ]  На страницу 1 2 3 След.
Автор Сообщение
 Заголовок сообщения: Выключение ПК.
СообщениеДобавлено: Сб сен 24, 2011 8:45 pm 
Не в сети

Зарегистрирован: Чт сен 22, 2011 11:38 pm
Сообщения: 7
Всем привет!

Такой вопрос: как можно выключить комп.. из под своей ОС ?

в помощь дали этот код..
Код:
MOV     AX,5300h
XOR     BX,BX
INT     15h
JB      Ext
MOV     AX,5301h
XOR     BX,BX
INT     15h
MOV     AX,5308h
MOV     BX,FFFFh
MOV     CX,0001h
INT     15h
MOV     AX,5307h
MOV     BX,0001h
MOV     CX,0003h
INT     15h
Ext:INT     20h


___________________
Помочь != решить за меня.


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Сб сен 24, 2011 9:07 pm 
Код для BIOS и будет работать только в реальном режиме процессора. В Колибри также есть подобный кусок, однако надеяться на 100% работу на всех компьютерах бесполезно.


Вернуться к началу
   
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Сб сен 24, 2011 10:38 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
kernel/trunk/boot/shutdown.inc

на многих платформах - не работает (новые биосы на APM забили, ждем ACPI).

Для гарантированного выключения своего собственного компьютера рекомендую ознакомиться с документацией к PM-регистрам южного моста.
У тебя какой чипсет?


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Пн сен 26, 2011 11:52 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
art_zh, выражайся аккуратнее, например, как Mario - "есть подобный кусок". Он отнюдь не единственный и безальтернативный и даже не основной; основной вариант уже давно - выключение через ACPI, kernel/trunk/kernel.asm, неподалёку от system_shutdown.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Вт сен 27, 2011 12:45 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
CleverMouse
да, я про это чудо забыл - оно тоже нифига не работает на очень многих платформах.
Прямой шатдаун гораздо эффективнее.


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Вт сен 27, 2011 12:58 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
art_zh, да, конечно, единственный правильный способ - это писать свой, единственный и неповторимый код для каждого чипсета, а универсальные способы хором "нифига не работают на очень многих платформах". Мы все верим.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Вт сен 27, 2011 1:07 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Именно это я и имею в виду. Хотя и не претендую на "единственно правильный способ".
Чел спросил - я посоветовал как с моей точки зрения лучше.

Вот пример рестарта для ю.мостов AMD SB700/800/Hudson :
Код:
pm_restart:      
     mov   ax, 6
     mov   dx, 0xCF9   ; reset reg
     out   dx, ax

Все остальное (универсальное и нерабочее) - в топку.


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Вт сен 27, 2011 1:54 am 
Не ругайтесь! Самый надежный способ это выдернуть штепсель из розетки. Все остальные способы (даже выключатель питания) дюже ненадежные.


Вернуться к началу
   
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Вт сен 27, 2011 8:18 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
Итак, налицо:
- подмена тезиса с выключения - которое появилось не так давно и не является стандартным - на перезагрузку, которую умели делать уже в очень далёкие времена;
- употребление без комментариев как "всем известное" нетривиального утверждения, на деле не подтверждаемого фактами - "нерабочее".
Товарищи, перед нами демагог. Может быть, помочь товарищу "уйти в науку" до зимы административными методами?

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Вт сен 27, 2011 8:22 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
CleverMouse, чего ж так жестко-то? Это мужское эго, наверное. Если товарищ хочет уйти в науку, то мы ему поможем, а пока что причин на это не видимвижу. Это было моё альтер-эго с манией величия.


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Вт сен 27, 2011 11:20 pm 
CleverMouse писал(а):
Товарищи, перед нами демагог. Может быть, помочь товарищу "уйти в науку" до зимы административными методами?

Собственно чего так резко то? Артем вроде никого не оскорблял, а за демагогию тут можно много кого расстреливать - меня в частности тоже. Каждый имеет право на свою точку зрения, даже если она в конечном счете окажется ошибочной. Я тут не наблюдаю никакого криминала.


Вернуться к началу
   
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Ср сен 28, 2011 1:59 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Direct shutdown для некоторых SB800+ и Гудзонов (я еще не видел ни одной материнки с этими мостами, на которой бы работал "универсальный" код):
Код:
   mov   dx, 0x0804   
   mov   ax, 0x3400
   out   dx, ax
; THE END...

Я против ACPIzации Колибри.
Это моя твердая позиция, к черту демагогию.


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Ср сен 28, 2011 11:46 am 
В сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
art_zh
А если надо кеши сбросить и винты запарковать ? У меня материнка отключается когда винт уже явно останавливается.


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Пт сен 30, 2011 3:03 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
Последние две фразы art_zh инициировали бурную флудильню про необходимость ACPI вообще, которую я выделила в отдельную тему.

Ключевое слово - "некоторых". Я так понимаю, что подмена с выключения на рестарт была вызвана именно желанием представить свою позицию в более выгодном свете, чтобы избавиться от упоминания, что это работает только на одиночных чипсетах.

Когда выясняется, что некоторый код якобы где-то не работает, ВНЕЗАПНО именно в сообщении, критикующем этот код и предлагающем свой подход... скажем так, это вызывает некоторые сомнения в истинности утверждения.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Выключение ПК.
СообщениеДобавлено: Пт сен 30, 2011 9:54 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн июл 25, 2011 6:22 pm
Сообщения: 93
В общем я не помню где это было (заклаку потерял), но один челоек из форума (разработчик ядра, вроде) создавал свою тестовую версию
системы (не совсем KOS) для архитектуры IA-32 (x64) с ипользованием APIC и простым ACPI. Вопрос: А повторить или переписать готовый код
на Asm слабо?

_________________
Программист не тот, кто постоянно пишет КОД, а тот кто сможет понять чужой КОД!!!


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 40 сообщений ]  На страницу 1 2 3 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB