Возможно вы искали: 'Castles & Catapults'

May 15 2025 19:05:57
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » ATX - выключать в реалмоде (patch kernel)

ATX - выключать в реалмоде (patch kernel)

Ключевые слова: patch, kernel, (найти похожие документы)

- RU.LINUX (2:5077/15.22) ------------------------------------------ RU.LINUX -
From : Mikel Ivanov aka ABS 2:5009/3.46 29 Mar 00 14:34:46
Subj : ATX - выключать в реалмоде
-------------------------------------------------------------------------------
Hello Kirill!

28 Mar 00 16:16, Kirill Petroff wrote to Mikel Ivanov Aka Abs:

MA>> Есть такой трабл, характерен для матерей на неинтеловских
MA>> чипсетах, лечится либо патченьем ядра на предмет выключения тачки
MA>> в реалмоде (там 15h прерывание юзается) либо переходом на
MA>> 2.3.x/2.4.x ядра. У них эта опция (выключать в реале) встроенна.
KP> и как это ядро пропатчить по этому поводу? где патч взять и прочие
KP> доки?

док нету, патча тоже (если интересно то можешь поискать в инете (патч от
Линуса)), остался токма кусочек process.c

=== Cut ===#if defined(CONFIG_APM) && defined(CONFIG_APM_POWER_OFF)

/*
This is 16-bit protected mode code to disable paging and the cache,
switch to real mode and jump to the BIOS APM poweroff code.
*/

unsigned char apm_real_mode_poweroff [] ={
0x66, 0x0f, 0x20, 0xc0, /* movl %cr0,%eax */
0x66, 0x83, 0xe0, 0x11, /* andl $0x00000011,%eax
*/
0x66, 0x0d, 0x00, 0x00, 0x00, 0x60, /* orl $0x60000000,%eax
*/
0x66, 0x0f, 0x22, 0xc0, /* movl %eax,%cr0 */
0x66, 0x0f, 0x22, 0xd8, /* movl %eax,%cr3 */
0x66, 0x0f, 0x20, 0xc3, /* movl %cr0,%ebx */
0x66, 0x81, 0xe3, 0x00, 0x00, 0x00, 0x60, /* andl $0x60000000,%ebx
*/
0x74, 0x02, /* jz f */
0x0f, 0x08, /* invd */
0x24, 0x10, /* f: andb $0x10,al */
0x66, 0x0f, 0x22, 0xc0, /* movl %eax,%cr0 */
0xea, 0xed, 0x0f, 0x00, 0x00, /* ljmp g */
0xb8, 0x00, 0x10, /* g: movw $0x1000,ax */
0x8e, 0xd0, /* movw ax,ss */
0xbc, 0x00, 0xf0, /* movw $0xf000,sp */

0xb8, 0x04, 0x53, /* movw $0x5304,ax */
0xbb, 0x00, 0x00, /* movw $0x0000,bx */
0xb9, 0x00, 0x00, /* movw $0x0000,cx */
0xcd, 0x15, /* int $0x15 */

0xb8, 0x01, 0x53, /* movw $0x5301,ax */
0xbb, 0x00, 0x00, /* movw $0x0000,bx */
0xb9, 0x00, 0x00, /* movw $0x0000,cx */
0xcd, 0x15, /* int $0x15 */

0xb8, 0x0E, 0x53, /* movw $0x530E,ax */
0xbb, 0x01, 0x00, /* movw $0x0000,bx */
0xb9, 0x02, 0x01, /* movw $0x0102,cx */
0xcd, 0x15, /* int $0x15 */

0xb8, 0x07, 0x53, /* movw $0x5307,ax */
0xbb, 0x01, 0x00, /* movw $0x0001,bx */
0xb9, 0x03, 0x00, /* movw $0x0003,cx */
0xcd, 0x15 /* int $0x15 */
};

void apm_realmode_poweroff(void)
{
cli ();

/*
Remap the kernel at virtual address zero, as well as offset zero
from the kernel segment. This assumes the kernel segment starts at
virtual address 0xc0000000.
*/

memcpy (swapper_pg_dir, swapper_pg_dir + USER_PGD_PTRS,
sizeof (swapper_pg_dir [0]) * KERNEL_PGD_PTRS);

/*
Make sure the first page is mapped to the start of physical memory.
It is normally not mapped, to trap kernel NULL pointer dereferences.
*/

pg0 [0] = 7;

/*
Use `swapper_pg_dir' as our page directory. We bother with
`SET_PAGE_DIR' because although might be rebooting, but if we change
the way we set root page dir in the future, then we wont break a
seldom used feature ;)
*/

SET_PAGE_DIR(current,swapper_pg_dir);

/*
For the switch to real mode, copy some code to low memory. It has
to be in the first 64k because it is running in 16-bit mode, and it
has to have the same physical and virtual address, because it turns
off paging. Copy it near the end of the first page, out of the way
of BIOS variables.
*/

memcpy ((void *) (0x1000 - sizeof (apm_real_mode_poweroff)),
apm_real_mode_poweroff, sizeof (apm_real_mode_poweroff));

/*
Set up the IDT for real mode.
*/

__asm__ __volatile__ ("lidt %0" : : "m" (real_mode_idt));

/*
Set up a GDT from which we can load segment descriptors for real
mode. The GDT is not used in real mode; it is just needed here to
prepare the descriptors.
*/

__asm__ __volatile__ ("lgdt %0" : : "m" (real_mode_gdt));

/*
Load the data segment registers, and thus the descriptors ready for
real mode. The base address of each segment is 0x100, 16 times the
selector value being loaded here. This is so that the segment
registers don't have to be reloaded after switching to real mode:
the values are consistent for real mode operation already.
*/

__asm__ __volatile__ ("movw $0x0010,%%axn"
"tmovw %%ax,%%dsn"
"tmovw %%ax,%%esn"
"tmovw %%ax,%%fsn"
"tmovw %%ax,%%gsn"
"tmovw %%ax,%%ss" : : : "eax");

/*
Jump to the 16-bit code that we copied earlier. It disables paging
and the cache, switches to real mode, and jumps to the BIOS APM
entry point.
*/

__asm__ __volatile__ ("ljmp $0x0008,%0"
:
: "i" ((void *) (0x1000 - sizeof
(apm_real_mode_poweroff))));

}

#endif

void machine_power_off(void)
{
#if defined(CONFIG_APM) && defined(CONFIG_APM_POWER_OFF)
apm_realmode_poweroff();
#endif
}

=== Cut ==
добавить в process.c, немножко подправить (если нужно) и можно юзать. У меня
работал, пока не поменял мамку на нормальную.

С уважением Mikel

--- GoldED/W32 3.0.1
* Origin: Сначала дуумают, потом квакают... (2:5009/3.46)
746 Прочтений •  [ATX - выключать в реалмоде (patch kernel)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• ATX - выключать в реалмоде (patch k... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка