Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Nov 12, 2019 7:15 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 40 posts ]  Go to page 1 2 3 Next
Author Message
PostPosted: Sat Sep 24, 2011 8:45 pm 
Offline

Joined: Thu Sep 22, 2011 11:38 pm
Posts: 7
Всем привет!

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

в помощь дали этот код..
Code:
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


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


Top
   
PostPosted: Sat Sep 24, 2011 9:07 pm 
Код для BIOS и будет работать только в реальном режиме процессора. В Колибри также есть подобный кусок, однако надеяться на 100% работу на всех компьютерах бесполезно.


Top
   
PostPosted: Sat Sep 24, 2011 10:38 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1350
kernel/trunk/boot/shutdown.inc

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

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


Top
   
PostPosted: Mon Sep 26, 2011 11:52 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
PostPosted: Tue Sep 27, 2011 12:45 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1350
CleverMouse
да, я про это чудо забыл - оно тоже нифига не работает на очень многих платформах.
Прямой шатдаун гораздо эффективнее.


Top
   
PostPosted: Tue Sep 27, 2011 12:58 am 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
art_zh, да, конечно, единственный правильный способ - это писать свой, единственный и неповторимый код для каждого чипсета, а универсальные способы хором "нифига не работают на очень многих платформах". Мы все верим.

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


Top
   
PostPosted: Tue Sep 27, 2011 1:07 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1350
Именно это я и имею в виду. Хотя и не претендую на "единственно правильный способ".
Чел спросил - я посоветовал как с моей точки зрения лучше.

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

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


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


Top
   
PostPosted: Tue Sep 27, 2011 8:18 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
PostPosted: Tue Sep 27, 2011 8:22 pm 
Offline

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


Top
   
PostPosted: Tue Sep 27, 2011 11:20 pm 
CleverMouse wrote:
Товарищи, перед нами демагог. Может быть, помочь товарищу "уйти в науку" до зимы административными методами?

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


Top
   
PostPosted: Wed Sep 28, 2011 1:59 am 
Offline
Kernel Developer
User avatar

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

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


Top
   
PostPosted: Wed Sep 28, 2011 11:46 am 
Offline
Kernel Developer

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


Top
   
PostPosted: Fri Sep 30, 2011 3:03 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Последние две фразы art_zh инициировали бурную флудильню про необходимость ACPI вообще, которую я выделила в отдельную тему.

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

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

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


Top
   
PostPosted: Fri Sep 30, 2011 9:54 pm 
Offline
User avatar

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

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 40 posts ]  Go to page 1 2 3 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited