From: Roberto R. <rob...@te...> - 2000-12-07 10:35:38
|
Hi, I don't know why but precompiled kernels 2000814 and 20000927 don't start on my CyberstormPPC 604e@150; the screen goes white and nothing happens. According to bootmesg the kernel is launched. I'm running APUS since the first days, and I'm not doing silly errors: last boothack, correct options, etc... No problem with 20000518. A couple of weeks ago I downloaded the 2.2 CVS tree to compile a kernel myself. Well, my own-compiled kernel does start and run. Good. But I found that the Virge (CV64/3D) console acceleration was corrupted (but X didn't suffer any problems): something was wrong with the blitting. I compared the source with older versions and it was exactly identical! So I thought there was a compiler problem, and, yes, I was right. I'm using gcc 2.95.2 (from LinuxPPC 2000), which reorders memory access, and it's not a good thing if you reorder register writes. I added a "-fno-scrict-aliasing" to CFLAGS in the main Makefile and patched the virgefb.c driver to be more careful about register access. Maybe I added too many mb(), but I really don't think they could cause mesaurable speed degradation, so I chose to be on the safe side. Here's the patch: --- virgefb.c_orig Thu May 25 21:08:31 2000 +++ virgefb.c Sun Nov 26 16:56:57 2000 @@ -51,18 +51,18 @@ #if 1 #define vgawb_3d(reg,dat) \ if (cv3d_on_zorro2) { \ - *((unsigned char volatile *)((Cyber_vcode_switch_base) + 0x04)) = \ - (0x01 & 0xffff); asm volatile ("nop"); \ + mb(); *((unsigned char volatile *)((Cyber_vcode_switch_base) + 0x04)) = \ + (0x01 & 0xffff); asm volatile ("nop"); mb(); \ } \ - (*((unsigned char *)(CyberVGARegs + (reg ^ 3))) = dat); \ + mb(); (*((unsigned char *)(CyberVGARegs + (reg ^ 3))) = dat); mb(); \ if (cv3d_on_zorro2) { \ - *((unsigned char volatile *)((Cyber_vcode_switch_base) + 0x04)) = \ - (0x02 & 0xffff); asm volatile ("nop"); \ + mb(); *((unsigned char volatile *)((Cyber_vcode_switch_base) + 0x04)) = \ + (0x02 & 0xffff); asm volatile ("nop"); mb(); \ } #define vgaww_3d(reg,dat) \ - (*((unsigned word *)(CyberVGARegs + (reg ^ 2))) = swab16(dat)) + mb(); (*((unsigned word *)(CyberVGARegs + (reg ^ 2))) = swab16(dat)); mb(); #define vgawl_3d(reg,dat) \ - (*((unsigned long *)(CyberVGARegs + reg)) = swab32(dat)) + mb(); (*((unsigned long *)(CyberVGARegs + reg)) = swab32(dat)); mb(); #else /* * Dunno why this doesn't work at the moment - we'll have to look at @@ -80,18 +80,18 @@ * We asume P5 mapped the big-endian version of these registers. */ #define wb_3d(reg,dat) \ - (*((unsigned char volatile *)(CyberRegs + reg)) = dat) + mb(); (*((unsigned char volatile *)(CyberRegs + reg)) = dat); mb(); #define ww_3d(reg,dat) \ - (*((unsigned word volatile *)(CyberRegs + reg)) = dat) + mb(); (*((unsigned word volatile *)(CyberRegs + reg)) = dat); mb(); #define wl_3d(reg,dat) \ - (*((unsigned long volatile *)(CyberRegs + reg)) = dat) + mb(); (*((unsigned long volatile *)(CyberRegs + reg)) = dat); mb(); #define rl_3d(reg) \ - (*((unsigned long volatile *)(CyberRegs + reg))) + (*((unsigned long volatile *)(CyberRegs + reg))); mb(); #define Select_Zorro2_FrameBuffer(flag) \ do { \ - *((unsigned char volatile *)((Cyber_vcode_switch_base) + 0x08)) = \ - ((flag * 0x40) & 0xffff); asm volatile ("nop"); \ + mb(); *((unsigned char volatile *)((Cyber_vcode_switch_base) + 0x08)) = \ + ((flag * 0x40) & 0xffff); asm volatile ("nop"); mb(); \ } while (0) /* * may be needed when we initialize the board? Now, if only someone could add X acceleration and mode switching... BTW, ide-doubler fails to detect the third and fourth IDE drives. It tries, but gets garbage instead of the drive names. -- |||||||. |||||||. *Roberto Ragusa* <rob...@te...> ||....|| ||....|| - electronic engineering student ||||||.. ||||||.. - Amiga user ||..||.. ||..||.. - satellite TV enthusiast ||....|| ||....|| (PGP public key available) |
From: Michel <da...@re...> - 2000-12-07 14:08:00
|
Roberto Ragusa wrote: > I don't know why but precompiled kernels 2000814 and 20000927 > don't start on my CyberstormPPC 604e@150; the screen goes > white and nothing happens. According to bootmesg the kernel > is launched. > I'm running APUS since the first days, and I'm not doing silly > errors: last boothack, correct options, etc... > No problem with 20000518. Anything interesting in the dmesg output? > A couple of weeks ago I downloaded the 2.2 CVS tree to > compile a kernel myself. > Well, my own-compiled kernel does start and run. Good. Any differences between your .config and the one of the precompiled kernels? > But I found that the Virge (CV64/3D) console acceleration was > corrupted (but X didn't suffer any problems): something was wrong > with the blitting. > > I compared the source with older versions and it was exactly > identical! > So I thought there was a compiler problem, and, yes, I was right. > I'm using gcc 2.95.2 (from LinuxPPC 2000), which reorders memory > access, and it's not a good thing if you reorder register writes. > > I added a "-fno-scrict-aliasing" to CFLAGS in the main Makefile > and patched the virgefb.c driver to be more careful about register > access. Maybe I added too many mb(), but I really don't think they > could cause mesaurable speed degradation, so I chose to be on the > safe side. > Here's the patch: [patch omitted] Can you please submit it to our Patch Manager at SourceForge? > Now, if only someone could add X acceleration and mode switching... For X acceleration, you'd have to modify the X 4.x s3virge driver. Several people have had a look at it with no success so far :( > BTW, ide-doubler fails to detect the third and fourth IDE drives. > It tries, but gets garbage instead of the drive names. Please also submit this to our Bug Tracker. Stuff which is in the SourceForge database won't get forgotten. And if you are logged in when submitting stuff, you'll always be notified on updates. Michel -- Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86 and the DRI project |
From: Alan B. <al...@ms...> - 2000-12-07 15:59:35
|
hi, > > BTW, ide-doubler fails to detect the third and fourth IDE drives. > > It tries, but gets garbage instead of the drive names. peculiar...i get all 4 IDE devices working fine. what interface do you have? what does the 'report this!' value say for the driver interface? alan |
From: Geert U. <ge...@li...> - 2000-12-09 18:41:06
|
On Thu, 7 Dec 2000, Alan Buxey wrote: > > > BTW, ide-doubler fails to detect the third and fourth IDE drives. > > > It tries, but gets garbage instead of the drive names. > > peculiar...i get all 4 IDE devices working fine. what interface do you > have? what does the 'report this!' value say for the driver interface? The `report this' value is bogus. Trying to find electrons you sent out on the wire isn't reliable and makes me thinks of finding dead cats in opaque boxes :-) If (irrealis) it would have been reliable, we could let it autosolve the ide=doubler option logic. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |
From: Roberto R. <rob...@te...> - 2000-12-16 16:50:24
|
On 07-Dec-00, Alan Buxey wrote: >>> BTW, ide-doubler fails to detect the third and fourth IDE drives. >>> It tries, but gets garbage instead of the drive names. > > peculiar...i get all 4 IDE devices working fine. what interface do you > have? what does the 'report this!' value say for the driver interface? I have a self-built adapter. It's described in the 4IDE.lha aminet file, Idefix refers to it as EB Standard. This is what I see: ide0: Gayle IDE interface (A4000 style) ide1: IDE doubler +++ Probing for IDE doubler... probe returned 0x7fff (PLEASE REPORT THIS!!) hda: Conner Peripherals 540MB - CFA540A, ATA DISK drive hdb: ST36531A, ATA DISK drive hdc: (_read below_), ATAPI UNKNOWN (type 31) drive hdd: (_read below_), ATAPI UNKNOWN (type 31) drive ide0 at 80dd2020 on irq 0x0000000c ide1 at 80dd3020 on irq 0x0000000c (shared with ide0) hda: Conner Peripherals 540MB - CFA540A, 516MB w/256kB Cache, CHS=1048/16/63 hdb: ST36531A, 6204MB w/128kB Cache, CHS=13446/15/63 Where I wrote (_read below_) there are 19 consecutive 0x7f 0xff character patterns (ASCII garbage). -- |||||||. |||||||. *Roberto Ragusa* <rob...@te...> ||....|| ||....|| - electronic engineering student ||||||.. ||||||.. - Amiga user ||..||.. ||..||.. - satellite TV enthusiast ||....|| ||....|| (PGP public key available) |
From: Roberto R. <rob...@te...> - 2000-12-16 16:50:19
|
On 07-Dec-00, Michel D=E4nzer wrote: > Roberto Ragusa wrote: > = >> I don't know why but precompiled kernels 2000814 and 20000927 >> don't start on my CyberstormPPC 604e@150 > Anything interesting in the dmesg output? Only this: Searching for SAVEKMSG magic... Found 336 bytes at 0x001e0008 >>>>>>>>>>>>>>>>>>>> Total memory =3D 128MB; using 512kB for hash table (at c0200000) Linux version 2.2.10 (root@computer2) (gcc version egcs-2.91.66 1999031= 4 (egcs-1.1.2 release)) #9 Wed Sep 27 19:23:42 BST 2000 Amiga hardware found: [A4000] VIDEO BLITTER AUDIO FLOPPY A4000_IDE KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA LISA ALICE_PAL ZORRO3 = <<<<<<<<<<<<<<<<<<<< When I use the kernel I have compiled, I get: Searching for SAVEKMSG magic... Found 2535 bytes at 0x001e0008 >>>>>>>>>>>>>>>>>>>> Total memory =3D 128MB; using 512kB for hash table (at c0180000) Linux version 2.2.10-rob1 (root@linuxppc) (gcc version 2.95.2 19991024 (release/franzo)) #2 Sun Nov 26 16:57:58 CET 2000 Amiga hardware found: [A4000] VIDEO BLITTER AUDIO FLOPPY A4000_IDE KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA LISA ALICE_PAL ZORRO3 = APUS: BATs=3D1, BUS=3D60MHz, RAM=3D60ns, PCI bridge=3D0 time_init: decrementer frequency =3D 900000000/60 ide: Enabled support for IDE doublers ... (snip) So it stops just before APUS:. Something is wrong with the boothack parameters handling? > Any differences between your .config and the one of the precompiled > kernels? Many differences, I'm using a custom config. But if I recompile using the .config20000927 the kernel doesn't start. In my kernel PCI and SCSI support are disabled, maybe the problem is in there. > Can you please submit it to our Patch Manager at SourceForge? Well, Ken Tyler told me he is working on a much more complex patch (including fbset support), his patch should be submitted. -- = |||||||. |||||||. *Roberto Ragusa* <rob...@te...> ||....|| ||....|| - electronic engineering student ||||||.. ||||||.. - Amiga user ||..||.. ||..||.. - satellite TV enthusiast ||....|| ||....|| (PGP public key available) |
From: Ken T. <ke...@we...> - 2000-12-16 22:10:26
|
On Sat, 16 Dec 2000, Roberto Ragusa wrote: > Well, Ken Tyler told me he is working on a much more complex > patch (including fbset support), his patch should be submitted. I will but I have sort out a recently discovered mode problem first. Send me your .config, I'll give it a go here. Ken. |
From: Michel <mic...@ii...> - 2000-12-16 22:32:02
|
Roberto Ragusa wrote: >=20 > On 07-Dec-00, Michel D=E4nzer wrote: >=20 > > Roberto Ragusa wrote: > > > >> I don't know why but precompiled kernels 2000814 and 20000927 > >> don't start on my CyberstormPPC 604e@150 > > Anything interesting in the dmesg output? >=20 > Only this: >=20 > Searching for SAVEKMSG magic... > Found 336 bytes at 0x001e0008 > >>>>>>>>>>>>>>>>>>>> > Total memory =3D 128MB; using 512kB for hash table (at c0200000) > Linux version 2.2.10 (root@computer2) (gcc version egcs-2.91.66 19990= 314 > (egcs-1.1.2 release)) #9 Wed Sep 27 19:23:42 BST 2000 > Amiga hardware found: [A4000] VIDEO BLITTER AUDIO FLOPPY A4000_IDE > KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA LISA ALICE_PAL > ZORRO3 > <<<<<<<<<<<<<<<<<<<< >=20 > When I use the kernel I have compiled, I get: >=20 > Searching for SAVEKMSG magic... > Found 2535 bytes at 0x001e0008 > >>>>>>>>>>>>>>>>>>>> > Total memory =3D 128MB; using 512kB for hash table (at c0180000) > Linux version 2.2.10-rob1 (root@linuxppc) (gcc version 2.95.2 1999102= 4 > (release/franzo)) #2 Sun Nov 26 16:57:58 CET 2000 > Amiga hardware found: [A4000] VIDEO BLITTER AUDIO FLOPPY A4000_IDE > KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA LISA ALICE_PAL > ZORRO3 > APUS: BATs=3D1, BUS=3D60MHz, RAM=3D60ns, PCI bridge=3D0 > time_init: decrementer frequency =3D 900000000/60 > ide: Enabled support for IDE doublers > ... (snip) >=20 > So it stops just before APUS:. Something is wrong with the boothack > parameters handling? Suppose you are using the latest boothack? > > Any differences between your .config and the one of the precompiled > > kernels? >=20 > Many differences, I'm using a custom config. > But if I recompile using the .config20000927 the kernel doesn't > start. In my kernel PCI and SCSI support are disabled, maybe the > problem is in there. Possible. Can you look into it? Michel --=20 Earthling Michel D=E4nzer (MrCooper) \ CS student and free software ent= husiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86 and The DRI Pr= oject |
From: Roberto R. <rob...@te...> - 2000-12-19 18:08:58
|
On 17-Dec-00, Michel D=E4nzer wrote: > Suppose you are using the latest boothack? Yes. >> But if I recompile using the .config20000927 the kernel doesn't >> start. In my kernel PCI and SCSI support are disabled, maybe the >> problem is in there. > = > Possible. Can you look into it? I tried this configs: - config000927 -> FAILURE - config000927, but scsi disabled -> FAILURE - config000927, but pci disabled -> SUCCESS - config000927, but scsi and pci disabled -> SUCCESS So the problem is the PCI/PM2 stuff. -- = |||||||. |||||||. *Roberto Ragusa* <rob...@te...> ||....|| ||....|| - electronic engineering student ||||||.. ||||||.. - Amiga user ||..||.. ||..||.. - satellite TV enthusiast ||....|| ||....|| (PGP public key available) |
From: Michel <mic...@ii...> - 2000-12-19 19:49:06
|
Roberto Ragusa wrote: > >> But if I recompile using the .config20000927 the kernel doesn't > >> start. In my kernel PCI and SCSI support are disabled, maybe the > >> problem is in there. > > > > Possible. Can you look into it? >=20 > I tried this configs: > - config000927 -> FAILURE > - config000927, but scsi disabled -> FAILURE > - config000927, but pci disabled -> SUCCESS > - config000927, but scsi and pci disabled -> SUCCESS >=20 > So the problem is the PCI/PM2 stuff. Can you try adding some debug output to arch/ppc/kernel/apus_pci.c to fin= d out where it fails? Michel --=20 Earthling Michel D=E4nzer (MrCooper) \ CS student and free software ent= husiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86 and The DRI Pr= oject |
From: Alan B. <al...@ms...> - 2000-12-18 09:49:37
|
hi, > Many differences, I'm using a custom config. > But if I recompile using the .config20000927 the kernel doesn't > start. In my kernel PCI and SCSI support are disabled, maybe the > problem is in there. what if you start the 000927 kernel with 'noscsi' in the bootstrap line? ..and what boothack are you using? alan |
From: Roberto R. <rob...@te...> - 2000-12-19 18:08:55
|
On 18-Dec-00, Alan Buxey wrote: > what if you start the 000927 kernel with 'noscsi' in the bootstrap line? doesn't boot > ..and what boothack are you using? 49352 bytes, from bh000629. It's also the present CVS version. -- |||||||. |||||||. *Roberto Ragusa* <rob...@te...> ||....|| ||....|| - electronic engineering student ||||||.. ||||||.. - Amiga user ||..||.. ||..||.. - satellite TV enthusiast ||....|| ||....|| (PGP public key available) |
From: Alan B. <al...@ms...> - 2000-12-20 10:50:51
|
hi, > > ..and what boothack are you using? > > 49352 bytes, from bh000629. > It's also the present CVS version. did you also overwrite the wup and pup booter parts with the boothack 000629 versions? alan |
From: Roberto R. <rob...@te...> - 2000-12-20 11:27:32
|
On 20-Dec-00, Alan Buxey wrote: >> 49352 bytes, from bh000629. >> It's also the present CVS version. > > did you also overwrite the wup and pup booter parts with the boothack > 000629 versions? Of course. -- |||||||. |||||||. *Roberto Ragusa* <rob...@te...> ||....|| ||....|| - electronic engineering student ||||||.. ||||||.. - Amiga user ||..||.. ||..||.. - satellite TV enthusiast ||....|| ||....|| (PGP public key available) |
From: Giorgio T. <de...@ip...> - 2000-12-25 00:18:49
|
Hi all, during my tests of CLgen driver i have found problems with modularization and consequent panics when i tried to load CLgen driver with insmod command. This is the panic's log: Dec 20 21:25:03 amy kernel: clgen: init_module: enter Dec 20 21:25:03 amy kernel: clgen: clgenfb_init: enter Dec 20 21:25:03 amy kernel: clgen: clgenfb_init: REG at $40600000 Dec 20 21:25:03 amy kernel: clgen: clgenfb_init: Registers virtual address for board set to: $ccd0b000 Dec 20 21:25:03 amy kernel: clgen: clgenfb_init: RAM virtual start set to: $ccd1c000 Dec 20 21:25:03 amy kernel: clgen: init_vgachip: enter Dec 20 21:25:03 amy kernel: NIP: CC8F3454 XER: 00000000 LR: CC8F332C REGS: c2139cc0 TRAP: 0300 Dec 20 21:25:03 amy kernel: MSR: 00009072 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 Dec 20 21:25:03 amy kernel: TASK = c2138000[1146] 'insmod' mm->pgd c28f8000 Last syscall: 128 Dec 20 21:25:03 amy kernel: last math c2138000 Dec 20 21:25:03 amy kernel: GPR00: 00000051 C2139D70 C2138000 00000028 00000001 C0168970 C0170000 00000000 Dec 20 21:25:03 amy kernel: GPR08: C03EFBA0 CCD0B000 CC8F3444 CC8F64C0 22242442 1002B1A8 00000000 100B4AD0 Dec 20 21:25:03 amy kernel: GPR16: 7FFFFAB8 10020000 00000000 00000000 00009072 0A139E80 00000000 C2139DF8 Dec 20 21:25:03 amy kernel: GPR24: CC8F0000 C5DEB400 00000000 00000000 00000000 CC8F0000 C5DEB4C4 C5DEB400 Dec 20 21:25:03 amy kernel: Call backtrace: Dec 20 21:25:03 amy kernel: CC8F332C CC8F4BF0 CC8F4F08 C0018948 C0003A20 10020000 1000341C Dec 20 21:25:03 amy kernel: 10003F1C 100041D8 0FF0C75C 00000000 Dec 20 21:25:03 amy kernel: Kernel panic: kernel access of bad area pc cc8f3454 lr cc8f332c address CCD0B3D4 tsk insmod/1146 As you will see the problem succeded when the function init_vgachip tried to access the address $CCD0B3D4 that is the remapped address of the CRTC index ( CRTX-> $3D4 ). The initialising code in the driver was so: ---------------------------------------------------- if (btype == BT_PICASSO4) { printk(" REG at $%lx\n", board_addr + 0x600000); /* To be precise, for the P4 this is not the */ /* begin of the board, but the begin of RAM. */ /* for P4, map in its address space in 2 chunks (### TEST! ) */ /* (note the ugly hardcoded 16M number) */ fb_info->regs = ioremap(board_addr, 16777216); DEBUG printk(KERN_INFO "clgen: Virtual address for board set to: $%p\n", fb_info->regs); fb_info->regs += 0x600000; fb_info->fbregs_phys = board_addr + 0x600000; fb_info->fbmem_phys = board_addr + 16777216; fb_info->fbmem = ioremap(fb_info->fbmem_phys, 16777216); DEBUG printk(KERN_INFO "clgen: (RAM start set to: $%lx)\n", fb_info->fbmem); } ---------------------------------------------------------- that for me is a lot ugly so i have sobstituted the code within braces as follows to use less paging resources: ---------------------------------------------------------- fb_info->fbregs_phys = board_addr + 0x00600000; fb_info->fbmem_phys = board_addr + 0x01000000; fb_info->regs = ioremap( fb_info->fbregs_phys,0x10000); fb_info->fbmem = ioremap(fb_info->fbmem_phys,0x01000000); ----------------------------------------------------------- After this, insmod loaded the module correctly the first time but not the second time after a rmmod: the result was another panic as above but with different addresses. I had the suspect that some resources were not delocated by the driver and the complement function of ioremap(), iounmap() that is needed to module cleanup don't work as expected. That was true because in PPC 2.2.10 kernel iounmap() is an empty function as you can see in arch/ppc/mm/init.c This was fixed in the 2.3 kernel so i have sobstituted the 2.2.10 iounmap() with the 2.3 function and now seems that all works correctly (i have not yet finished the work on CLgen and the tests ) The following is the fix of init.c: ----------------------------------------------------------- --- /usr/src/orig2.2/init.c Sat Dec 23 10:44:55 2000 +++ /usr/src/linux-apus-2.2/arch/ppc/mm/init.c Sat Dec 23 10:11:10 2000 @@ -426,7 +426,8 @@ void iounmap(void *addr) { - /* XXX todo */ + if (addr > high_memory && (unsigned long) addr < ioremap_bot) + vfree((void *) (PAGE_MASK & (unsigned long) addr)); } unsigned long iopa(unsigned long addr) ----------------------------------------------------------- There are also some function symbols that must be exported in drivers/video/fbgen.c for the video framebuffer drivers modularisation: EXPORT_SYMBOL(fbgen_switch); EXPORT_SYMBOL(fbgen_get_var); EXPORT_SYMBOL(fbgen_get_cmap); EXPORT_SYMBOL(fbgen_set_disp); EXPORT_SYMBOL(fbgen_pan_display); EXPORT_SYMBOL(fbgen_get_fix); EXPORT_SYMBOL(fbgen_install_cmap); EXPORT_SYMBOL(fbgen_update_var); EXPORT_SYMBOL(fbgen_do_set_var); EXPORT_SYMBOL(fbgen_blank); EXPORT_SYMBOL(fbgen_set_cmap); EXPORT_SYMBOL(fbgen_set_var); After these modifications in 2.2.10 kernel now CLgen module works so i will speed up my tests without rebooting all the times. What do you think about ? Do you have other suggestions? Regards and Merry Christmas Giorgio Terzi |
From: Michel <dae...@st...> - 2000-12-25 14:46:19
|
Giorgio Terzi schrieb: > I had the suspect that some resources were not delocated by the driver > and the complement function of ioremap(), iounmap() that is needed to > module cleanup don't work as expected. > That was true because in PPC 2.2.10 kernel iounmap() is an empty > function as you can see in arch/ppc/mm/init.c > This was fixed in the 2.3 kernel so i have sobstituted the 2.2.10 > iounmap() with the 2.3 function and now seems that all works correctly > (i have not yet finished the work on CLgen and the tests ) >=20 > The following is the fix of init.c: > ----------------------------------------------------------- > --- /usr/src/orig2.2/init.c Sat Dec 23 10:44:55 2000 > +++ /usr/src/linux-apus-2.2/arch/ppc/mm/init.c Sat Dec 23 10:11:10 2000 > @@ -426,7 +426,8 @@ >=20 > void iounmap(void *addr) > { > - /* XXX todo */ > + if (addr > high_memory && (unsigned long) addr < ioremap_bot) > + vfree((void *) (PAGE_MASK & (unsigned long) addr)); > } >=20 > unsigned long iopa(unsigned long addr) > ----------------------------------------------------------- >=20 > There are also some function symbols that must be exported in > drivers/video/fbgen.c for the video framebuffer drivers > modularisation: >=20 > EXPORT_SYMBOL(fbgen_switch); > EXPORT_SYMBOL(fbgen_get_var); > EXPORT_SYMBOL(fbgen_get_cmap); > EXPORT_SYMBOL(fbgen_set_disp); > EXPORT_SYMBOL(fbgen_pan_display); > EXPORT_SYMBOL(fbgen_get_fix); > EXPORT_SYMBOL(fbgen_install_cmap); > EXPORT_SYMBOL(fbgen_update_var); > EXPORT_SYMBOL(fbgen_do_set_var); > EXPORT_SYMBOL(fbgen_blank); > EXPORT_SYMBOL(fbgen_set_cmap); > EXPORT_SYMBOL(fbgen_set_var); >=20 > After these modifications in 2.2.10 kernel now CLgen module works so i > will speed up my tests without rebooting all the times. >=20 > What do you think about ? Do you have other suggestions? Looks good to me, feel free to commit it. > Regards and Merry Christmas Yes, merry christmas to everyone! :) Michel --=20 Earthling Michel D=E4nzer (MrCooper) \ CS student and free software ent= husiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86 and The DRI Pr= oject |