Re: No love for the PPC

From: Paul Mackerras (
Date: Sat Oct 13 2001 - 02:46:05 EST

Mike Borrelli writes:

> I'm sorry about the tone of this e-mail, but it is somewhat painful when,
> after downloading a new kernel to play with, it doesn't compile on the
> ppc. It isn't even big problems either. A single line (#include
> <linux/pm.h>) is missing from pc_keyb.c and has been for at least three
> -ac releases. Now, process.c in arch/ppc/kernel/ dies from an undeclared
> identifier (init_mmap).

I'm afraid I am to blame for this one. It looks like we sent Alan a
patch which isn't appropriate for Alan's tree (because Alan's and
Linus' trees VM system is different). Here is a patch to reverse the

> Anyway, the real question is, why does the ppc arhitecture /always/ break
> between versions?

Well, the port maintainers don't get any earlier access to the
releases than everyone else. So if some change breaks the compile for
PPC (or any other architecture), we just have to send a patch to Linus
or Alan and hope that it gets accepted for the next release (when
there could easily be another change that breaks things in some other
way, of course). That said, Alan is usually very good about accepting
our patches in a timely fashion, and as I said, the process.c breakage
is our fault not his.

With Linus' trees, it would be nice if there were some restrictions on
what sort of changes can go in between the last prerelease and the
final release - if it was restricted to changes under arch/ and
include/asm-*, obvious compile fixes, or really critical bug fixes,
then there would be a better chance that the final release would work
for most architectures. But that does not seem to be a priority at
this stage.


diff -urN ac2412-1/arch/ppc/kernel/process.c acppc/arch/ppc/kernel/process.c
--- ac2412-1/arch/ppc/kernel/process.c Wed Oct 10 12:38:52 2001
+++ acppc/arch/ppc/kernel/process.c Sat Oct 13 16:50:32 2001
@@ -48,6 +48,7 @@
 struct task_struct *last_task_used_math = NULL;
 struct task_struct *last_task_used_altivec = NULL;
+static struct vm_area_struct init_mmap = INIT_MMAP;
 static struct fs_struct init_fs = INIT_FS;
 static struct files_struct init_files = INIT_FILES;
 static struct signal_struct init_signals = INIT_SIGNALS;
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Oct 15 2001 - 21:00:48 EST