графическая консоль

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 12:24:12

paradox писал(а):ну думаю можно и добавться
я так смотрю там реальные имена не нужны можно и ник + емеил
меня не надо добавлять. Моего кода там нет. Тупая копипаста.
paradox писал(а):кстати сделай патч для i386/bios/apm.c
что бы под amd64 было
на что заменить?

Код: Выделить всё

       if (vm86_intcall(APM_INT, &vmf))
               return ENXIO;                   /* APM not found */
paradox писал(а):и утилиты попутно bin/apm/
там вроде нет архитектурно зависимого кода

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.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/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 12:29:54

на что заменить?
ну да
там вроде нет архитектурно зависимого кода
вмысле что бы оно инсталлилось на amd64
оно вроде запрешенно для этой архитектуры

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 12:40:55

/src/usr.sbin/Makefile

Код: Выделить всё

.if ${MACHINE_ARCH} == "i386"
.if ${MK_APM} != "no"
_apm=           apm
_apmd=          apmd
.endif
_asf=           asf
вмысле это я имел ввиду про инталляцию

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 12:59:08

paradox писал(а):ну да
избавился от проверки. Осталось только

Код: Выделить всё

@/dev/apm/apm.h:46:19: error: field has incomplete type 'struct bios_args'
        struct bios_args bios;
                         ^
@/dev/apm/apm.h:46:9: note: forward declaration of 'struct bios_args'
        struct bios_args bios;
               ^
/home/holo/dist/git-freebsd/sys/modules/apm/../../dev/apm/apm.c:192:3: error:
      implicit declaration of function 'set_bios_selectors' is invalid in C99
      [-Wimplicit-function-declaration]
                set_bios_selectors(&sc->bios.seg,
                ^
/home/holo/dist/git-freebsd/sys/modules/apm/../../dev/apm/apm.c:194:11: error:
      implicit declaration of function 'bios32' is invalid in C99
      [-Wimplicit-function-declaration]
                errno = bios32(&sc->bios.r,
                        ^
/home/holo/dist/git-freebsd/sys/modules/apm/../../dev/apm/apm.c:197:11: error:
      implicit declaration of function 'bios16' is invalid in C99
      [-Wimplicit-function-declaration]
                errno = bios16(&sc->bios, NULL);
                        ^
5 diagnostics generated.
похоже, используется
i386/i386/bios.c
i386/i386/bioscall.s

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 13:13:31

печально
недосмотрел
там биос вызовы используються и для вычисления адрессов входа в APM функции

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 13:45:21

- p = BIOS_PADDRTOVADDR(((u_int32_t)vmf.vmf_es << 4) + vmf.vmf_bx);
+ p = BIOS_PADDRTOVADDR((regs.R_ES << 4) + regs.R_BX);
надо подумать и разобраться
ибо ES это 16битный регистр
а при сдвиге <<4 можно все потерять
все зависит от того как среагирует компилятор
посему uint32_t был там правильный
и почему оно паниковало не понятно...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 14:05:11

да уж
пихнуть графическую гуи в ядро пока что я не придумал как
ибо нельзя сделать

user-level

Код: Выделить всё

void
callFunc(void *)
{

}

RegisterCallback(callFunc);
kernel-level

Код: Выделить всё

  callFunc(NULL);

тоесть другими словами
нельзя функции из юзер левела
зарегистрировать в уровня ядра
и оттуда вызвать

а даже если и можно
то это будет нарушение серьюрности
ибо тогда в функции callFunc в юзер левеле можно будет выполнять код ring0


так что пока что одни размышление как это впихнуть

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 14:50:15

paradox писал(а):и почему оно паниковало не понятно...
ну, во первых

Код: Выделить всё

/sys/dev/atkbdc/atkbd.c: In function 'get_typematic':
/sys/dev/atkbdc/atkbd.c:1105: warning: cast to pointer from integer of different size
а каст на (uint32_t), наверное можно было и оставить.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 14:56:15

а каст на (uint32_t), наверное можно было и оставить.
ну я так понял именно из за этого каста у тебя и падало?
или то из за позней загрузки x86bios было?

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 15:06:00

paradox писал(а):ну я так понял именно из за этого каста у тебя и падало?
падало из-за implicit каста на uint32_t при присваивании адреса в p. Отсюда я поменя тип у p с u_int32_t на vm_offset_t. Не помню почему убрал каст для regs.R_ES. ЕМНИП, после проверки результата через printf'ы.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 15:08:40

докомпиляеться нужно будет проверить

кстати насчет палитры
Андрей говорит что палитра не восстанавлиаеться если переключаться после иксов в другие консоли которые находяться в том же режиме где и побитая палитра
но восстанавливаеться когда при переключении между консолями если другая консоль в MODE_24 например

так?

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 15:12:55

вобщем, если считаешь, что каст для R_ES нужен, то скажи Xin Li, чтобы применил

Код: Выделить всё

Index: /sys/dev/atkbdc/atkbd.c
===================================================================
--- /sys/dev/atkbdc/atkbd.c	(revision 197389)
+++ /sys/dev/atkbdc/atkbd.c	(working copy)
@@ -1101,7 +1101,7 @@
 	x86biosCall(&regs, 0x15);
 	if ((regs.R_EFLG & PSL_C) || regs.R_AH)
 		return ENODEV;
-        p = BIOS_PADDRTOVADDR((regs.R_ES << 4) + regs.R_BX);
+        p = BIOS_PADDRTOVADDR(((uint32_t)regs.R_ES << 4) + regs.R_BX);
 	if ((readb(p + 6) & 0x40) == 0)	/* int 16, function 0x09 supported? */
 		return ENODEV;
 	regs.R_AX = 0x0900;/
paradox писал(а):Андрей говорит что палитра не восстанавлиаеться если переключаться после иксов в другие консоли которые находяться в том же режиме где и побитая палитра
мне любопытно. А этот баг был на старом (vm86) vesa драйвере?
paradox писал(а):но восстанавливаеться когда при переключении между консолями если другая консоль в MODE_24 например
без разницы в каком режиме консоль

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 15:15:04

Гость писал(а):без разницы в каком соседняя режиме консоль
fixed

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 15:15:53

ну так ты говорил что с кастом падает в паник

а вот кто его знает был такой глюк или небыл) теперь не узнаем
думаю что был

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 15:23:25

paradox писал(а):ну так ты говорил что с кастом падает в паник
вот с этим кастом.

Код: Выделить всё

Index: sys/dev/atkbdc/atkbd.c
===================================================================
--- sys/dev/atkbdc/atkbd.c	(revision 197389)
+++ sys/dev/atkbdc/atkbd.c	(working copy)
@@ -1095,7 +1095,7 @@
 	 * rate previously set via the BIOS...
 	 */
 	x86regs_t regs;
-	vm_offset_t p;
+	uint32_t p;
 
 	regs.R_AX = 0xc000;
 	x86biosCall(&regs, 0x15);
будет паника. А с предыдущем - нет. Впрочем, я не тестировал на реальной машине (только qemu).

ps, мне проще использовать explicit/implicit, поэтому у мя type conversion == implicit cast.

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 15:25:21

Гость писал(а):я не тестировал на реальной машине (только qemu)
по-отдельности не тестил, а вместе - несколько дней назад.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 15:25:50

дойдут руки до соборки ядра на amd64
перепроверю

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 17:41:36

обновил пока порт (vesa-kmod.diff). Теперь там 3 модуля (исключая x86bios): dpms, s3, vesa. Код тупо скопирован из /head, за исключением корневого Makefile'а.

ЕМНИП, должно работать и на 6-stable. Никто не пробовал?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 17:48:00

кстати можно спросить у Ли насчет MFC
или они делают токо после какого то продолжительного периода?

Гость
проходил мимо

Re: графическая консоль

Непрочитанное сообщение Гость » 2009-09-21 17:56:27

paradox писал(а):кстати можно спросить у Ли насчет MFC
уже спрашивал (ты там есть в CC). В 7-stable MFC будет. Про 6-stable - пока не спрашивал, есть ли смылс?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 18:00:29

про RELENG_6 Ли у себя на странице написал что будет
правда там по китайски написано
но вроде как собираеться

другой вопрос когда и при каких условиях это делаеться
MFC вмысле

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 19:24:58

брр
я перевел криво
он сказал что это должно работать и для других версий RELENG_7 RELENG_6

ps
я Едового настроения не понимаю
точнее то что он делает
а так я бы наверное и uft8 уже бы добавил
но зачем бежать в переди паровоза

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 22:55:45

еххх
насчет проблем с kbd.c
прийдеться создавать PR
ибо Ед говорит что он не разбираеться со скан кодами и тем более с моей локалью(причем там локаль? бррр)

либо придеться подумать как так втолковать с одного ответа что бы он понял суть проблемы... :cz2:

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-21 22:58:38

гость сможешь разьяснить так PR и отправить
что бы было понятно не токо ed@ ?
)))

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: графическая консоль

Непрочитанное сообщение paradox » 2009-09-22 0:23:00

вообщем приехали
1) гружу бсд (которая по дефолту не переключает в графику тоесть по умолчанию MODE_24) и переключаю нулевую консоль в MODE_277
2) startx
3) переключаюсь с иксов в консоль Ctrl+Alt+F1
4) переключаюсь в Alt+F2 (где по дефолту MODE_24)
5) пробую переключться в Alt+F1 (где включен уже MODE_277) и зависли)))
ребут

иксы пробовал vesa nv nouveau
nv вообще можно выбросить они не рабочие напрочь
vesa и nouveau одинакого выснет фря по выше изложеным действиям

у тебя так же?)