а разве нельзя использовать (DECLARE|DEV|DRIVER)_MODULE вместе с SYSINIT. Если я не ошибаюсь, то sound(4) и drm(4) так и делают.paradox писал(а):убать их как модули
и сделать как системные
угу
графическая консоль
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Re: paradox эксперементирует с графической консолью
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
не улавливаю какой смысл делать MODULE
если то что нужно уже будет в ядре после SYSINIT
если то что нужно уже будет в ядре после SYSINIT
-
- проходил мимо
Re: paradox эксперементирует с графической консолью
будет только если одна из опций зависящих от x86bios (atkbd, dpms, vesa, vga) или сам x86bios будет указан в конфиге. Если хочешь всегда, то нужно поставить в sys/conf/files не optional, а standard.paradox писал(а):если то что нужно уже будет в ядре после SYSINIT
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
нет не всегда
только если собираеться модуль который его требует
apm.c
например тоже будет требовать
но в целом и общем
x86bios в ядре на этапе SYSINIT мне нужен токо для vga.c и vesa.c
в остальных моментах
как модуль он устраивает
но делать и так и сяк
даже незнаю
думаю если оставить просто SYSINIT то меньше мороки будет
только если собираеться модуль который его требует
apm.c
например тоже будет требовать
но в целом и общем
x86bios в ядре на этапе SYSINIT мне нужен токо для vga.c и vesa.c
в остальных моментах
как модуль он устраивает
но делать и так и сяк
даже незнаю
думаю если оставить просто SYSINIT то меньше мороки будет
- Alex Keda
- стреляли...
- Сообщения: 35469
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: paradox эксперементирует с графической консолью
у меня на них люди работают ))
лучше скажи что делать, завтра сделаю - когда до видях тех доберусь
лучше скажи что делать, завтра сделаю - когда до видях тех доберусь
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
а какая там архитектура? i386 ?
бсд какая версия?
бсд какая версия?
- Alex Keda
- стреляли...
- Сообщения: 35469
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: paradox эксперементирует с графической консолью
i386
версию любую накачу - это бездисковые рабочие станции
разве что мне придётся гулять с хардом и бутиться на каждой ))
тока заранее скажи, чтобы собрал эту самую версию....
версию любую накачу - это бездисковые рабочие станции
разве что мне придётся гулять с хардом и бутиться на каждой ))
тока заранее скажи, чтобы собрал эту самую версию....
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
Re: paradox эксперементирует с графической консолью
paradox, пока сделал так
http://pastebin.ca/1568182
можно, наверное, добавить что-то вроде такого
http://pastebin.ca/1568182
можно, наверное, добавить что-то вроде такого
Код: Выделить всё
static int
x86bios_modevent(module_t mod __unused, int type, void *data __unused)
{
int err = 0;
switch (type) {
case MOD_LOAD:
x86bios_sysinit();
break;
case MOD_UNLOAD:
x86bios_sysuninit();
break;
default:
err = ENOTSUP;
break;
}
return (err);
}
static moduledata_t x86bios_mod = {
"x86bios",
x86bios_modevent,
NULL,
};
DECLARE_MODULE(x86bios, x86bios_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
MODULE_VERSION(x86bios, 1);
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
x86bios_sysuninit(void *arg __unused)
там мютекс дестрой а не lock
x86bios_sysinit();
можно
токо
x86bios_sysinit(NULL);
итд
там мютекс дестрой а не lock
x86bios_sysinit();
можно
токо
x86bios_sysinit(NULL);
итд
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
а на какой версии они щас бутяться?lissyara писал(а):i386
версию любую накачу - это бездисковые рабочие станции
разве что мне придётся гулять с хардом и бутиться на каждой ))
тока заранее скажи, чтобы собрал эту самую версию....
если i386 мне подойдет любая от бсд4 до бсд8
токо ядро с options SC_PIXEL_MODE собери
а модули можно будет там загрузить?
или оно токо ядро тягает?
- Alex Keda
- стреляли...
- Сообщения: 35469
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: paradox эксперементирует с графической консолью
вот список видях:
эти в компах стоят. ещё на окне у меня пачка лежит - в основном ATI и S3 всех мастей и пород.
список на всякий случай - мало ли чё ещё потестить захочешь ))
Код: Выделить всё
vgapci0@pci0:1:0:0: class=0x030000 card=0x40001458 chip=0x85001023 rev=0x6a hdr=0x00
vendor = 'Trident Microsystems'
device = 'Cyber CyberBlade i1 AGP (51)'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:1:0:0: class=0x030000 card=0x31221106 chip=0x31221106 rev=0x03 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT8623 Apollo CLE266 CastleRock AGP 8X Controller'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:1:0:0: class=0x030000 card=0x00000000 chip=0x002c10de rev=0x15 hdr=0x00
vendor = 'Nvidia Corp'
device = 'VANTA / VANTA LT [NVVANTA]'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:1:0:0: class=0x030000 card=0x403d1043 chip=0x011010de rev=0xb2 hdr=0x00
vendor = 'Nvidia Corp'
device = 'NV11 GeForce2 MX / MX 400'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:1:0:0: class=0x030000 card=0x89045333 chip=0x89045333 rev=0x01 hdr=0x00
vendor = 'S3 Graphics Co., Ltd'
device = '86C365 Trio3D QFP, 86C366 Trio3D BGA'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:0:2:0: class=0x030000 card=0x11328086 chip=0x11328086 rev=0x04 hdr=0x00
vendor = 'Intel Corporation'
device = '82815/EM/EP/P 815/EM/EP/P (Solano) Interal GUI Accelerator'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:1:0:0: class=0x030000 card=0x8a135333 chip=0x8a135333 rev=0x02 hdr=0x00
vendor = 'S3 Graphics Co., Ltd'
device = '86C368 Trio3D2x & Trio3D2x+ AGP / Trio3D2x & Trio3D2x+ 8MB'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:1:0:0: class=0x030000 card=0x00081002 chip=0x474d1002 rev=0x65 hdr=0x00
vendor = 'ATI Technologies Inc'
device = 'Rage XL AGP 2x SLAT'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:0:1:0: class=0x030000 card=0x00000000 chip=0x71218086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82810 810 Chipset Graphics Controller'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:1:0:0: class=0x030000 card=0x00000000 chip=0x011110de rev=0xb2 hdr=0x00
vendor = 'Nvidia Corp'
device = 'NV11DDR GeForce2 MX 100/200 (DDR)'
class = display
subclass = VGA
Код: Выделить всё
vgapci0@pci0:0:12:0: class=0x030000 card=0x8a015333 chip=0x8a015333 rev=0x01 hdr=0x00
vendor = 'S3 Graphics Co., Ltd'
device = '86C375 ViRGE/DX, 86C385 ViRGE/GX'
class = display
subclass = VGA
список на всякий случай - мало ли чё ещё потестить захочешь ))
Убей их всех! Бог потом рассортирует...
- Alex Keda
- стреляли...
- Сообщения: 35469
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: paradox эксперементирует с графической консолью
там полноценная фря бутиться. 7.2 релиз, второй помоему патчлевел.
можно и модули и чё хочешь. ядро то что мы стобой под интел 810 фиксили...
можно и модули и чё хочешь. ядро то что мы стобой под интел 810 фиксили...
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
подходят токо где есть
chip=0x8a015333
-
- проходил мимо
Re: paradox эксперементирует с графической консолью
sorry, невнимательностьparadox писал(а):там мютекс дестрой а не lock
мне вот интересно, не будет ли конфликтов, если использовать один и тотже uniquifier
SYSINIT(x86bios,...)
и
DECLARE_MODULE(x86bios, ...)
- Alex Keda
- стреляли...
- Сообщения: 35469
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: paradox эксперементирует с графической консолью
ну таких на живых компах три - из списка чтоя выкатил.
ещё на окне скольк-то валяется... надо смотреть
ещё на окне скольк-то валяется... надо смотреть
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
не должномне вот интересно, не будет ли конфликтов, если использовать один и тотже uniquifier
SYSINIT(x86bios,...)
и
DECLARE_MODULE(x86bios, ...)
ибо
Код: Выделить всё
#define C_SYSINIT(uniquifier, subsystem, order, func, ident) \
static struct sysinit uniquifier ## _sys_init = { \
subsystem, \
order, \
func, \
(ident) \
}; \
DATA_SET(sysinit_set,uniquifier ## _sys_init)
#define SYSINIT(uniquifier, subsystem, order, func, ident) \
C_SYSINIT(uniquifier, subsystem, order, \
(sysinit_cfunc_t)(sysinit_nfunc_t)func, (void *)(ident))
Код: Выделить всё
#define DECLARE_MODULE(name, data, sub, order) \
MODULE_DEPEND(name, kernel, __FreeBSD_version, \
__FreeBSD_version, MODULE_KERNEL_MAXVER); \
MODULE_METADATA(_md_##name, MDT_MODULE, &data, #name); \
SYSINIT(name##module, sub, order, module_register_init, &data); \
struct __hack
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
надо тоже как то будет переименоватьstatic struct x86emu xbios86emu;
может в x86bios_ctx;
что ли
или
x86bios_emu;
даже не знаю как красивее
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
с 8битами
наверное для начала нужно будет сделать 8битовую палитру
по примеру
токо где бы выискать цветовую палиру цветов которые должны получаться
что бы добавить
наверное для начала нужно будет сделать 8битовую палитру
по примеру
Код: Выделить всё
\sys\dev\syscons\scvgarndr.c
static uint32_t vga_palette32[16] = {
0x000000, 0x0000ad, 0x00ad00, 0x00adad,
0xad0000, 0xad00ad, 0xad5200, 0xadadad,
0x525252, 0x5252ff, 0x52ff52, 0x52ffff,
0xff5252, 0xff52ff, 0xffff52, 0xffffff
};
static uint16_t vga_palette16[16] = {
0x0000, 0x0016, 0x0560, 0x0576, 0xb000, 0xb016, 0xb2a0, 0xb576,
0x52aa, 0x52bf, 0x57ea, 0x57ff, 0xfaaa, 0xfabf, 0xffea, 0xffff
};
static uint16_t vga_palette15[16] = {
0x0000, 0x0016, 0x02c0, 0x02d6, 0x5800, 0x5816, 0x5940, 0x5ad6,
0x294a, 0x295f, 0x2bea, 0x2bff, 0x7d4a, 0x7d5f, 0x7fea, 0x7fff
};
что бы добавить
Код: Выделить всё
static uint8_t vga_palette8[16] = {
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
возможно так
Код: Выделить всё
--- scvgarndr.c.orig 2009-09-16 21:38:42.000000000 +0400
+++ scvgarndr.c 2009-09-16 21:41:53.000000000 +0400
@@ -194,7 +194,7 @@
writew(pos, vga_palette15[color]); \
break; \
case 8: \
- writeb(pos, (uint8_t)color); \
+ writeb(pos, vga_palette8[color]); \
}
static uint32_t vga_palette32[16] = {
@@ -214,6 +214,11 @@
0x294a, 0x295f, 0x2bea, 0x2bff, 0x7d4a, 0x7d5f, 0x7fea, 0x7fff
};
+static uint8_t vga_palette8[16] = {
+ 0x00, 0x04, 0x02, 0x06, 0x01, 0x05, 0x03, 0x07,
+ 0x08, 0x0c, 0x0a, 0x0e, 0x09, 0x0d, 0x0b, 0x0f
+};
+
#ifndef SC_NO_CUTPASTE
static uint32_t mouse_buf32[256];
static uint16_t mouse_buf16[256];
@@ -1228,7 +1233,7 @@
u8 = (uint8_t*)(p + j * pixel_size);
mouse_buf8[i * 16 + j] = *u8;
if (mouse_or_mask[i] & (1 << (15 - j)))
- writeb(u8, 15);
+ writeb(u8, vga_pallete8[15]);
else if (mouse_and_mask[i] & (1 << (15 - j)))
writeb(u8, 0);
break;
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
был когда то баг
я поднимал
после kbdcontrol -l ru.koi8-ru
пропадала индикация CapsLock Led индикатора
при переключении раскладки rus/eng по CapLock клавиши - в консоли
покифисл
фикс применим начиная с 5бсд версии
тоесть и для 7 и 8 он актуален
/src/sys/dev/kbd/kbd.c
пока что отписал максиму евменкину он вроде занимался немного kbd
если он не возьметься
а я забуду и кому то это будет нужно
отправте PR
это фиксить CapsLock клавишу и делает ее индикацию независимой от keymap
тудаже нужно добавить еще и ScrollLock индикацию и NumLock
что бы они были независимы от keymap (индикация всмысле независимая а не клавиши)
я поднимал
после kbdcontrol -l ru.koi8-ru
пропадала индикация CapsLock Led индикатора
при переключении раскладки rus/eng по CapLock клавиши - в консоли
покифисл
фикс применим начиная с 5бсд версии
тоесть и для 7 и 8 он актуален
/src/sys/dev/kbd/kbd.c
Код: Выделить всё
--- kbd.c.orig 2009-09-16 23:13:29.000000000 +0000
+++ kbd.c 2009-09-16 23:42:02.000000000 +0000
@@ -1220,6 +1220,19 @@
if (up) { /* break: key released */
action = kbd->kb_lastact[keycode];
kbd->kb_lastact[keycode] = NOP;
+
+ switch (keycode) {
+ case 58:
+#ifndef PC98
+ state &= ~CLKDOWN;
+#else
+ state &= ~CLKED;
+ i = state & LOCK_MASK;
+ kbdd_ioctl(kbd, KDSETLED, (caddr_t)&i);
+#endif
+ break;
+ }
+
switch (action) {
case LSHA:
if (state & SHIFTAON) {
@@ -1291,6 +1304,7 @@
state &= ~NLKDOWN;
break;
case CLK:
+#if 0
#ifndef PC98
state &= ~CLKDOWN;
#else
@@ -1298,6 +1312,7 @@
i = state & LOCK_MASK;
kbdd_ioctl(kbd, KDSETLED, (caddr_t)&i);
#endif
+#endif
break;
case SLK:
state &= ~SLKDOWN;
@@ -1321,12 +1336,26 @@
kbd->kb_lastact[keycode] = action;
if (kbd->kb_lastact[keycode] != action)
action = NOP;
+
+ switch (keycode) {
+ case 58:
+#ifndef PC98
+ set_lockkey_state(kbd, state, CLK);
+#else
+ state |= CLKED;
+ i = state & LOCK_MASK;
+ kbdd_ioctl(kbd, KDSETLED, (caddr_t)&i);
+#endif
+ break;
+ }
+
switch (action) {
/* LOCKING KEYS */
case NLK:
set_lockkey_state(kbd, state, NLK);
break;
case CLK:
+#if 0
#ifndef PC98
set_lockkey_state(kbd, state, CLK);
#else
@@ -1334,6 +1363,7 @@
i = state & LOCK_MASK;
kbdd_ioctl(kbd, KDSETLED, (caddr_t)&i);
#endif
+#endif
break;
case SLK:
set_lockkey_state(kbd, state, SLK);
если он не возьметься
а я забуду и кому то это будет нужно
отправте PR
это фиксить CapsLock клавишу и делает ее индикацию независимой от keymap
тудаже нужно добавить еще и ScrollLock индикацию и NumLock
что бы они были независимы от keymap (индикация всмысле независимая а не клавиши)
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
таксь
включи мютекс
и потестируй
если ничего не будет падать (у меня вроде не падает)
то убирай опцию
пускай будут по умолчанию
отменяй SYSINIT/UNIIT
но функции x86bios_sys* переименуй в x86bios_* тоесть init и uninit
и возращай MODULE
заменяй патчи
и в этом виде будем толкать в куррент
странно что Ли молчит
в рассылке там во всю учавствует по секюрити
а с SYSINIT
это уже дальнейшые експерименты будут
включи мютекс
и потестируй
если ничего не будет падать (у меня вроде не падает)
то убирай опцию
пускай будут по умолчанию
отменяй SYSINIT/UNIIT
но функции x86bios_sys* переименуй в x86bios_* тоесть init и uninit
и возращай MODULE
заменяй патчи
и в этом виде будем толкать в куррент
странно что Ли молчит
в рассылке там во всю учавствует по секюрити
а с SYSINIT
это уже дальнейшые експерименты будут
-
- проходил мимо
Re: paradox эксперементирует с графической консолью
возвращать модуль для x86emu или оставить только x86bios?paradox писал(а):и возращай MODULE
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
нене
x86emu не возращаем
пусть все компилиться статиком в x86bios как есть
x86emu не возращаем
пусть все компилиться статиком в x86bios как есть
-
- проходил мимо
Re: paradox эксперементирует с графической консолью
перезалил патчики.
кстати, может заменить в модуле SI_SUB_DRIVERS на, например, SI_SUB_KMEM чтоб x86bios инициализировался чуток раньше?
кстати, может заменить в модуле SI_SUB_DRIVERS на, например, SI_SUB_KMEM чтоб x86bios инициализировался чуток раньше?
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: paradox эксперементирует с графической консолью
даже не знаю
Ли что то молчит как не живой
Ли что то молчит как не живой