[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Network sockets don't work with new 1.18.current



On Thu, 2011-01-06 at 21:04 +0100, David Gálvez wrote:
> Hi all,
> 
> I found today that network doesn't work with kernel 1.18 compiled from
> the trunk.
> Module inet4.xdd isn't loaded.
> 
> Before the module is loaded there is a check for the correct kernel's version.
> 
> File /sys/sockets/main.c line 96, the minor version check must be
> upgraded it to 18.
> 
> http://sparemint.org/cgi-bin/cvsweb/freemint/sys/sockets/main.c?rev=1.5&content-type=text/x-cvsweb-markup
> 
> I don't know why the check is done like that, it's very easy to forget
> putting the correct version when the kernel version is bumped.
> 
> Wouldn't be better to do something like this?
> 
> if ((MINT_MAJOR == 0)
> 		|| ((MINT_MAJOR == 1) && ((MINT_MINOR < 15) || (MINT_KVERSION < 2)))
> || !so_register)
> 
> As is done in other modules, just check that version is newer than
> 1.15 and kerinfo version 2 or upper??

Sounds reasonable to me.

To be honest, For 1.18 I'd like to compile all modules with their
m68020-60, m68030 etc etc counterparts for the kernel itself.

We have a weird situation currently where the modules are compiled for
m68000 and loaded into an optimized kernel.

For this change, I'd also like to version the modules with the kernel
version, so they only load with the version of kernel they've been
compiled against.

I know this is probably a controversial change though as some third
party binary modules would stop working without a new flag to force them
to load.

For example, for inet4.xdd we'd have several versions....

C:\MINT\1-18-CUR\030\inet4.xdd
C:\MINT\1-18-CUR\060\inet4.xdd
C:\MINT\1-18-CUR\000\inet4.xdd

Then if you had in C:\AUTO\MINT060.PRG it would jump straight to 
C:\MINT\1-18-CUR\060\ to load it's modules.

Alan.