ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: linux-2.6.30 и Тион  (Прочитано 63056 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: linux-2.6.30 и Тион
« Ответ #30 : 06 Ноября, 2009, 09:25:10 »

Собрал самое свежее ядро из git-а для EDB9312, всё запустилось, но вот незадача - в конфиге стоит использование консоли на FrameBuffer, а так же включен в ядро модуль EP93xxfb. Результат - при загрузке Framebuffer даже не пытается инициализоваться - на монике логотип из u-boot'а, а после загрузки udev - полный мусор.
В /dev/ устройства fb0 нет.

Ядру сказать console на ttyAM0 и через minicom посмотреть, что ядро пишет при старте, особенно когда fb инициализирует (если инициализирует).
Записан

svts

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 20
Re: linux-2.6.30 и Тион
« Ответ #31 : 06 Ноября, 2009, 09:55:33 »

Так точно и сделано, консоль у меня всегда через uart1. Ядро просто не инициализирует fb0, даже не пытается!

Я вот до сих пор не могу понять, как же (и где) задаётся базовая конфигурация системы?
Касаемо часов в 2.6.30: tion9315.c изучил, исправил I2C с il1208 на ds1337 в настройках, чтоб заработали часы.

Так вот вопрос - а почему ядро само не подключает все модули (или не ищет оборудование?), которые заданы в конфиге =y? Получается, что поиск оборудования никак не производится при загрузке, тогда как быть?

Очевидно, что с fb те же грабли - при загрузке ядро просто не знает о его существовании, и никто потом не говорит, что, вообще, какой-то фреймбуфер в системе есть.

Кстати, когда пытался к разрабатываемому ядру прикрутить SPI, то пришлось его инициализацию тоже вручную делать в machine_init. Так и должно быть?
« Последнее редактирование: 06 Ноября, 2009, 09:57:46 от svts »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: linux-2.6.30 и Тион
« Ответ #32 : 06 Ноября, 2009, 11:11:29 »

> Касаемо часов в 2.6.30: tion9315.c изучил, исправил I2C с il1208 на ds1337 в настройках, чтоб заработали часы.

Заработали?

>при загрузке ядро просто не знает о его существовании, и никто потом не говорит, что, вообще, какой-то фреймбуфер в системе есть.

Вы ep93xx_register_fb где-нибудь вызываете (arch/arm/mach-ep93xx/)?
Записан

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: linux-2.6.30 и Тион
« Ответ #33 : 06 Ноября, 2009, 12:25:42 »

Странно.
У меня в конфиге стоит
# Graphics support
#
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set

#
# Frame buffer hardware drivers
#
CONFIG_FB_EP93XX=y
# CONFIG_FB_ARMCLCD is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set

#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_SOUND is not set

ep93xx_register_fb нигде не вызываю. Но fb инициализируется.
При загрузке ядра:
io scheduler anticipatory registered
ep93xxfb_alloc_videomem - exit
Console: switching to colour frame buffer device 80x30
fb0: EP93xx frame buffer at 640x480x16bpp
Module fpgaboot init
Записан

svts

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 20
Re: linux-2.6.30 и Тион
« Ответ #34 : 06 Ноября, 2009, 12:46:14 »

Да, часы заработали. Я просто добавил ещё одну строку в массив, которая описывает ds1337.

А вот ep93xx_register_fb нигде не вызываю.
В 2.6.30 тоже нигде не вызывается - и инициализируется всё, а вот в 2.6.32 - нет, и не пойму, куда копать :/

Я уже два дня гугл терроризирую по вопросу, как правильно инициализировать ARM, но ничего не нашёл.
Записан

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: linux-2.6.30 и Тион
« Ответ #35 : 06 Ноября, 2009, 13:18:59 »

В 2.6.30 тоже нигде не вызывается - и инициализируется всё, а вот в 2.6.32 - нет, и не пойму, куда копать :/

До 2.6.32 я еще не добрался :)
На досуге посмотрю, что там не так.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: linux-2.6.30 и Тион
« Ответ #36 : 06 Ноября, 2009, 13:32:50 »

Возможно, именно эта функция не вызывается, но где-то (в init драйвера или в arch/arm/mach) регистрируется platform device для fb.
Записан

svts

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 20
Re: linux-2.6.30 и Тион
« Ответ #37 : 06 Ноября, 2009, 18:19:42 »

Бинго! (с) ;)

Наконец-то кто-то разъяснил, что же тут происходит. Спасибо, asv :)

В 2.6.20.21 и в 2.6.30 platform_device_register делается внутри драйвера по условию
ret = platform_driver_register(....);
if (!ret)
   platform_device_register(....);

В исходниках 2.6.32-git нифига, кроме driver_register нет. Вот теперь я думаю, куда вносить изменения? В драйвер (как сделано сейчас на 2.6.30 и 2.6.20.21), или в описание архитектуры машины?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: linux-2.6.30 и Тион
« Ответ #38 : 06 Ноября, 2009, 18:33:17 »

В описание архитектуры.
Записан

svts

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 20
Re: linux-2.6.30 и Тион
« Ответ #39 : 06 Ноября, 2009, 22:26:45 »

Знатный затык...
В общем, в 2.6.32 не напрасно fb не был включен при загрузке - при попытке добавления инициализации fb в init machine - кернел паник. Видимо, ребята что-то не дописали ;)

Взял ep93xx-fb.c от 2.6.30, поставил в 2.6.32. В пару заголовочных файлов дописал недостающие дефайны. В итоге - вылетает с ошибкой
ep93xxfb_init: can't get irq 31, err -22

Самое интересное, что функции request_irq передаются нормальные параметры (номер прерывания - 31, адрес процедуры - есть, явно не NULL). В итоге она всё равно возвращает -EINVAL.

Пробовал ради интереса поставить вместо 31 прерывания, скажем, 30 - вообще, виснет всё при загрузке.
Вроде, 31 прерывание ничем не занято, но оно у не желает регистрироваться...
Третий час пошёл, как бьюсь головой о стену - ноль-эффект.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: linux-2.6.30 и Тион
« Ответ #40 : 06 Ноября, 2009, 22:55:12 »

> инициализации fb в init machine - кернел паник.

Лог?
Записан

svts

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 20
Re: linux-2.6.30 и Тион
« Ответ #41 : 06 Ноября, 2009, 23:17:40 »

Лог:
Случай а) - портирован fb с 2.6.30:
Linux version 2.6.32-rc6-00075-g7c9abfb-dirty (root@cheee) (gcc version 4.1.2) #52 Fri Nov 6 22:21:37 MSK 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: Cirrus Logic EDB9312 Evaluation Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16192
Kernel command line: noinitrd rootdelay=10 root=/dev/sda1 console=ttyAM0,57600 video=ep93xxfb:vout=1,vmode=16
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB 32MB = 64MB total
Memory: 61016KB available (3380K code, 263K data, 104K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:120
VIC @fefb0000: id 0x00041190, vendor 0x41
VIC @fefc0000: id 0x00041190, vendor 0x41
Console: colour dummy device 80x30
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
ep93xx: PLL1 running at 399 MHz, PLL2 at 192 MHz
ep93xx: FCLK 199 MHz, HCLK 99 MHz, PCLK 49 MHz
M2P DMA subsystem initialized
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 3, 40960 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (extended precision)
JFFS2 version 2.2. (NAND) б╘ 2001-2006 Red Hat, Inc.
msgmni has been set to 119
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
[b]ep93xxfb_init: can't get irq 31, err -22[/b]
Serial: AMBA driver
apb:uart1: ttyAM0 at MMIO 0x808c0000 (irq = 52) is a AMBA
console [ttyAM0] enabled
apb:uart2: ttyAM1 at MMIO 0x808d0000 (irq = 54) is a AMBA
apb:uart3: ttyAM2 at MMIO 0x808e0000 (irq = 55) is a AMBA
nbd: registered device at major 43
physmap platform flash device: 02000000 at 60000000
physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank
NOR chip too large to fit in mapping. Attempting to cope...
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
Reducing visibility of 65536KiB chip to 32768KiB
Searching for RedBoot partition table in physmap-flash.0 at offset 0x1fc0000
No RedBoot partition table detected in physmap-flash.0
ep93xx-eth version 0.1 loading
eth0: ep93xx on-chip ethernet, IRQ 39, 0e:00:00:ea:18:f0.
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ep93xx-ohci ep93xx-ohci: EP93xx OHCI
ep93xx-ohci ep93xx-ohci: new USB bus registered, assigned bus number 1
ep93xx-ohci ep93xx-ohci: irq 56, io mem 0x80020000
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EP93xx OHCI
usb usb1: Manufacturer: Linux 2.6.32-rc6-00075-g7c9abfb-dirty ohci_hcd
usb usb1: SerialNumber: ep93xx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
rtc-ds1307 0-0068: rtc core: registered ds1337 as rtc0
i2c-gpio i2c-gpio.0: using pins 49 (SDA) and 48 (SCL)
ep93xx_wdt: EP93XX watchdog, driver version 0.3
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
Registered led device: platform:grled
Registered led device: platform:rdled
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
rtc-ds1307 0-0068: setting system clock to 2009-11-06 19:24:47 UTC (1257535487)
Waiting 10sec before mounting root device...

Случай б) - попытка запустить код ядра 2.6.32 из git.
в core.c добавлен следующий кусок кода:
ep93xx_register_fb(&ep93xxfb_data);Примечательно то, что все функции и необходимые массивы уже объявлены и заполнены в этом core.c

Результат исполнения:
Linux version 2.6.32-rc6-00075-g7c9abfb-dirty (root@cheee) (gcc version 4.1.2) #55 Fri Nov 6 23:17:11 MSK 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: Cirrus Logic EDB9312 Evaluation Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16192
Kernel command line: noinitrd rootdelay=10 root=/dev/sda1 console=ttyAM0,57600 video=ep93xxfb:vout=1,vmode=16
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB 32MB = 64MB total
Memory: 61076KB available (3324K code, 259K data, 104K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:120
VIC @fefb0000: id 0x00041190, vendor 0x41
VIC @fefc0000: id 0x00041190, vendor 0x41
Console: colour dummy device 80x30
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
ep93xx: PLL1 running at 399 MHz, PLL2 at 192 MHz
ep93xx: FCLK 199 MHz, HCLK 99 MHz, PCLK 49 MHz
M2P DMA subsystem initialized
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 3, 40960 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (extended precision)
JFFS2 version 2.2. (NAND) б╘ 2001-2006 Red Hat, Inc.
msgmni has been set to 119
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
------------[ cut here ]------------
WARNING: at mm/page_alloc.c:1805 __alloc_pages_nodemask+0x144/0x504()
Modules linked in:
[<c0028b9c>] (unwind_backtrace+0x0/0xd4) from [<c00405b0>] (warn_slowpath_common+0x48/0x64)
[<c00405b0>] (warn_slowpath_common+0x48/0x64) from [<c006e918>] (__alloc_pages_nodemask+0x144/0x504)
[<c006e918>] (__alloc_pages_nodemask+0x144/0x504) from [<c00294c8>] (__dma_alloc+0x160/0x3b0)
[<c00294c8>] (__dma_alloc+0x160/0x3b0) from [<c0029738>] (dma_alloc_writecombine+0x20/0x2c)
[<c0029738>] (dma_alloc_writecombine+0x20/0x2c) from [<c0013c58>] (ep93xxfb_probe+0xe8/0x3b8)
[<c0013c58>] (ep93xxfb_probe+0xe8/0x3b8) from [<c018bd2c>] (platform_drv_probe+0x1c/0x24)
[<c018bd2c>] (platform_drv_probe+0x1c/0x24) from [<c018adc0>] (driver_probe_device+0xc0/0x174)
[<c018adc0>] (driver_probe_device+0xc0/0x174) from [<c018aed0>] (__driver_attach+0x5c/0x7c)
[<c018aed0>] (__driver_attach+0x5c/0x7c) from [<c018a174>] (bus_for_each_dev+0x4c/0x84)
[<c018a174>] (bus_for_each_dev+0x4c/0x84) from [<c018a74c>] (bus_add_driver+0xa0/0x22c)
[<c018a74c>] (bus_add_driver+0xa0/0x22c) from [<c018b1c4>] (driver_register+0xa8/0x134)
[<c018b1c4>] (driver_register+0xa8/0x134) from [<c00223a0>] (do_one_initcall+0x60/0x1ac)
[<c00223a0>] (do_one_initcall+0x60/0x1ac) from [<c0008894>] (kernel_init+0x8c/0x100)
[<c0008894>] (kernel_init+0x8c/0x100) from [<c0023e98>] (kernel_thread_exit+0x0/0x8)
---[ end trace da227214a82491b7 ]---
ep93xx-fb: probe of ep93xx-fb failed with error -12
Serial: AMBA driver
apb:uart1: ttyAM0 at MMIO 0x808c0000 (irq = 52) is a AMBA
console [ttyAM0] enabled
apb:uart2: ttyAM1 at MMIO 0x808d0000 (irq = 54) is a AMBA
apb:uart3: ttyAM2 at MMIO 0x808e0000 (irq = 55) is a AMBA
nbd: registered device at major 43
physmap platform flash device: 02000000 at 60000000
physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank
NOR chip too large to fit in mapping. Attempting to cope...
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
Reducing visibility of 65536KiB chip to 32768KiB
Searching for RedBoot partition table in physmap-flash.0 at offset 0x1fc0000
No RedBoot partition table detected in physmap-flash.0
ep93xx-eth version 0.1 loading
eth0: ep93xx on-chip ethernet, IRQ 39, 0e:00:00:ea:18:f0.
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ep93xx-ohci ep93xx-ohci: EP93xx OHCI
ep93xx-ohci ep93xx-ohci: new USB bus registered, assigned bus number 1
ep93xx-ohci ep93xx-ohci: irq 56, io mem 0x80020000
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EP93xx OHCI
usb usb1: Manufacturer: Linux 2.6.32-rc6-00075-g7c9abfb-dirty ohci_hcd
usb usb1: SerialNumber: ep93xx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
rtc-ds1307 0-0068: rtc core: registered ds1337 as rtc0
i2c-gpio i2c-gpio.0: using pins 49 (SDA) and 48 (SCL)
ep93xx_wdt: EP93XX watchdog, driver version 0.3
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
Registered led device: platform:grled
Registered led device: platform:rdled
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
rtc-ds1307 0-0068: setting system clock to 2009-11-06 20:20:27 UTC (1257538827)
Waiting 10sec before mounting root device...
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: linux-2.6.30 и Тион
« Ответ #42 : 06 Ноября, 2009, 23:40:07 »

ep93xxfb_mach_info заполнено при вызове ep93xx_register_fb?
Записан

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: linux-2.6.30 и Тион
« Ответ #43 : 06 Ноября, 2009, 23:42:06 »

Взял ep93xx-fb.c от 2.6.30, поставил в 2.6.32. В пару заголовочных файлов дописал недостающие дефайны. В итоге - вылетает с ошибкой
ep93xxfb_init: can't get irq 31, err -22

Самое интересное, что функции request_irq передаются нормальные параметры (номер прерывания - 31, адрес процедуры - есть, явно не NULL). В итоге она всё равно возвращает -EINVAL.

Пробовал ради интереса поставить вместо 31 прерывания, скажем, 30 - вообще, виснет всё при загрузке.
Вроде, 31 прерывание ничем не занято, но оно у не желает регистрироваться...
Третий час пошёл, как бьюсь головой о стену - ноль-эффект.

В irqs.h прописано?
#define IRQ_EP93XX_GRAPHICS             31
#define EP93XX_VIC1_VALID_IRQ_MASK      0xfffffffc

ЗЫ: Патч в студию.
« Последнее редактирование: 06 Ноября, 2009, 23:44:32 от faa »
Записан

svts

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 20
Re: linux-2.6.30 и Тион
« Ответ #44 : 07 Ноября, 2009, 00:20:02 »

> ep93xxfb_mach_info заполнено при вызове ep93xx_register_fb?
... говорили же мне, что после работы не стоит заниматься программированием :) Нет, конечно, там стоит заглушка :/ Попробую завтра расковырять тогда, что делать-то.

В irqs.h прописано?
Маску забыл поправить - из-за этого грабли были с -EINVAL. Поправил на нормальную - ядро просто затыкается.
## Booting kernel from Legacy Image at 60100000 ...
   Image Name:   Linux-2.6.32-rc6-00075-g7c9abfb-
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1912416 Bytes =  1.8 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Патча нет. Если подскажете, как правильно с помощью улиты git его сделать - сделаю. Но я просто заменил текст ep93xx-fb.c на тот, который был в патче 2.6.30, добавил пару строк в irqs.h и ещё несколько в другие заголовочники, содержащие DEVCFG.
Записан