Picture of Jürgen Kreileder

Archive for the ‘Linux Kernel’ Category

PowerMac G5 ALSA Driver

Thanks to this patch from Benjamin Herrenschmidt, there finally is sound support for the PowerMac G5! It even works with ppc64 kernels.

Now if 2.6.12-rc kernels were just a tiny bit more stable on my G5…

PER_LINUX32 Fixes for Linux/ppc64

I’ve tried to rebuild the latest Debian packages of Mozilla and Firefox with my jsarena pointer arithmetic fix on ppc32/ppc64 today. Rebuilding worked fine with older versions but this time it failed because the makefiles identified my G5 as an i386 box! The makefiles use uname -m to determine the CPU type, there’s no code to handle ‘ppc64’ and the default is ‘x86’.

As my old work-around (providing a uname command that returns ‘ppc’) didn’t work anymore, this forced me to look at the root cause of the problem.

I’ve finally found two issues with the PER_LINUX32 personality:

  • uname(2) didn’t respect PER_LINUX32
  • Child processes didn’t inherit PER_LINUX32

This patch for 2.6.12-rc1-mm4 fixes both issues:

$ uname -m
$ linux32 uname -m
$ linux32 sh -c "uname -m"

Without the patch all three commands return ‘ppc64’.

32-bit compat patch for inotify-0.21

The inotify API has been changed, watches are now added via the file’s fd. That makes the 32-bit compat patch pretty trivial:

March 18th, 2005: The patch has been integrated into inotify 0.21-2

evdev compat patch now in -mm kernel

My 32-bit compat patch for evdev has been integrated into Linux 2.6.11-mm3.

32-bit compat ioctl for inotify

I’ve just installed the file alteration monitor Gamin. Its inotify support didn’t work because inotify didn’t provide the required compat ioctl(2) for my mixed 32/64-bit system.
Here’s a patch that adds the missing ioctl(2) to 2.6.11-mm2:

March 17th, 2005: Updated patch available here