Hi,
with the change of the low-level device API from 2.6.24 to 2.6.25 (see e.g. http://lwn.net/Articles/2.6-kernel-api) there are some new functions to manipulate page attributes. The IEGD drivers from Intel currently only support kernel versions up to 2.6.24 so the current IEGD drivers do not compile for recent kernel versions. Unfortunately the recently released Toughbook CF-U1 from Panasonic consists of some hardware only supported in these kernels, thus it would be necessary to get the drivers compiled to also get opengl support in X.
I've tried my very best to patch the driver sources to compile on Ubuntu 8.10 with 2.6.27 sources - which it does, but it returns a hand full of warnings and finally OOOPses whenever I try to insmod the module iegd_mod.ko. Here's the output of the segmentation fault:
Dec 2 10:26:41 hydrosys-laptop kernel: [ 149.964913] Linux agpgart interface v0.103
Dec 2 10:26:42 hydrosys-laptop kernel: [ 149.999838] [drm] Initialized drm 1.1.0 20060810
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.596385] [IEGD:DEBUG]:iegd_gart_init Enter
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.596497] [IEGD:DEBUG]:iegd_agp_init Enter
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.596600] [IEGD:DEBUG]:iegd_probe_device Enter
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.596857] [IEGD:DEBUG]:iegd_probe_device Device found.. Exit
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.596965] [IEGD]: Registering iegd gart module
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.597081] [IEGD:DEBUG]:iegd_agp_init Exit
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.597241] [IEGD:DEBUG]:iegd_intel_probe Enter
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.597343] [IEGD]: Initialize IEGD agpgart and drm
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.597461] [IEGD:DEBUG]:iegd_find_device Device found = 0x8108
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.597471]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.597652] [IEGD:DEBUG]:agp_init_pat Enabled PAT
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.597873] [IEGD:DEBUG]:iegd_intel_probe driver 00000000, id 8108, list f8dbe140
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.598031] [IEGD]: Intel US15 chipset detected
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.598152] [IEGD:DEBUG]:iegd_intel_probe Exit
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.598310] general protection fault: 21e0 [#1] SMP
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.599798] Modules linked in: iegd_mod(+) drm agpgart af_packet binfmt_misc sco bridge stp bnep rfcomm l2cap ppdev acpi_cpufreq cpufreq_userspace cpufreq_powersave cpufreq_ondemand cpufreq_stats freq_table cpufreq_conservative container pci_slot sbs sbshc iptable_filter ip_tables x_tables parport_pc lp parport snd_hda_intel arc4 snd_pcm_oss snd_mixer_oss ecb crypto_blkcipher snd_pcm asix usbnet mii option usbserial evdev btusb bluetooth video output snd_seq_dummy iwlagn iwlcore rfkill led_class mac80211 cfg80211 battery button ac snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event wmi snd_seq sdhci_pci sdhci i2c_isch pcspkr mmc_core i2c_core snd_timer snd_seq_device shpchp pci_hotplug snd soundcore snd_page_alloc usbhid hid ext3 jbd mbcache sd_mod crc_t10dif sg pata_acpi ata_generic pata_sch libata ehci_hcd scsi_mod dock uhci_hcd usbcore thermal processor fan fbcon tileblit font bitblit softcursor fuse
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] Pid: 5618, comm: insmod Not tainted (2.6.27-9-generic #1)
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] EIP: 0060:[] EFLAGS: 00010207 CPU: 0
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] EIP is at iegd_i965_sizes+0x14/0xffffa8d8 [iegd_mod]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] EAX: e440eb5f EBX: 000001b8 ECX: 00000200 EDX: f8dbe0a0
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] ESI: 00000200 EDI: f5b24880 EBP: f5a51dac ESP: f5a51d88
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] Process insmod (pid: 5618, ti=f5a50000 task=f6689920 task.ti=f5a50000)
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] Stack: f8dc21e3 00000035 205b0001 31363120 f5b24880 5d323531 f74f5400 ffffffed
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] f5b24880 f5a51de0 f8dc2456 c02612da 00000000 00000300 f5a51dd8 00000000
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] f74f5400 f5b24880 f5a51de0 00000000 f74f5400 f5b24880 f5a51e0c f8db8acc
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] Call Trace:
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? agp_backend_initialize+0xb3/0x2a0 [agpgart]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? agp_add_bridge+0x56/0x1a0 [agpgart]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? do_pci_enable_device+0x3a/0x60
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? iegd_intel_probe+0x228/0x254 [iegd_mod]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? pci_device_probe+0x5e/0x80
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? really_probe+0x59/0x190
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? pci_match_device+0xc6/0xd0
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? driver_probe_device+0x43/0x60
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? __driver_attach+0x79/0x80
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? bus_for_each_dev+0x53/0x80
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? pci_device_remove+0x0/0x40
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? driver_attach+0x1e/0x20
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? __driver_attach+0x0/0x80
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? bus_add_driver+0x1b7/0x230
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? pci_device_remove+0x0/0x40
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? driver_register+0x6e/0x150
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? printk+0x1d/0x1f
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? iegd_gart_init+0x0/0x120 [iegd_mod]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? __pci_register_driver+0x4f/0x90
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? iegd_gart_init+0x0/0x120 [iegd_mod]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? iegd_gart_init+0xcf/0x120 [iegd_mod]
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? _stext+0x30/0x160
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? __blocking_notifier_call_chain+0x14/0x70
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? sys_init_module+0x88/0x1b0
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? sys_close+0x7f/0xd0
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] [] ? sysenter_do_call+0x12/0x2f
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] =======================
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] Code: 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 02 00 07 00 00 00 40 00 00 00 00 00 02 00 <07> 00 00 00 00 01 00 00 00 00 02 00 07 00 00 00 00 02 00 00 00
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.600000] EIP: [] iegd_i965_sizes+0x14/0xffffa8d8 [iegd_mod] SS:ESP 0068:f5a51d88
Dec 2 10:26:53 hydrosys-laptop kernel: [ 161.620365] ---[ end trace 6e8b0e7e53ebf784 ]---
I've attached the patched sources (to trick the upload I've changed the extension to jpg. It is a TGZ!!!). Maybe someone can take a look at them and give me some advice what might go wrong here and what should be changed.
Regards
C.
| Attachment | Size |
|---|---|
| IKM_P.jpg | 710.75 KB |