Re: 2.3.99pre7-8 experiences
Are you using the stock 2.3.99-pre7-pre8 or the maintained version from
http://www.fsmlabs.com/linuxppcbk.html? Some of these problems are taken
care of and I'd to know which ar still lingering around.
The ppc_ksyms.c patch won't work in some cases since we have other
debuggers that load as modules (other than xmon/kgdb built-in) and need
these symbols.
Why the ADB_PMU ifdefs? Do you have a case where you don't need that code
but it's built in?
} Greetings,
}
} An on-and-off effort since yesterday finally got 2.3.99pre7-8 to boot
} this morning, the attached patch was necessary.
}
} Why am I building 2.3? The main reason is that it will finally support
} my Cirrus-Logic-based MacPicasso 540 video card. So let's start with
} that.
}
} * clgenfb doesn't start on PPC, it oopses in vga16_init (after
} guessing the board has 32 MB RAM when it has 4). I've sent the
} ksymoops output to linux-fbdev, so the author is aware of the
} problem. Built as a module, insmod hangs the system with the same
} message, minus the oops. (For some reason I can't figure out, gcc
} gave me a parse error on the LINUX_VERSION_CODE #ifs, so I had to
} make them #if 0 and #if 1.)
} * atyfb still doesn't support Xfb with accels properly, same problems
} as 2.2. A new one: xscreensaver reports: "X SERVER BUG: 1152x864
} viewport at 289,-291 is impossible"
} * The ide-pmac.c, mac_keyb.c, pmac_setup.c and ppc_ksyms.c patch
} hunks correct minor oversights, configuration permutations not
} anticipated by the authors.
} * include/asm-ppc/string.h needs those function prototypes, since
} include/linux/string.h doesn't provide them when __HAVE_ARCH_* is
} defined. Contrary to my post yesterday, those __HAVE_ARCH_* flags
} are necessary to prevent lib/string.c from conflicting with
} arch/ppc/lib/string.S.
} * The dmasound_awacs hunk is from Ani Joshi; built as a module it
} can't install without nvram, so drivers/sound/Config.in should make
} Mac DMA sound depend on CONFIG_NVRAM. (I don't know if that will
} make sound work, it's building with nvram at home now, I'll test it
} tonight.)
} * SCSI generic on MESH seems to be broken in the same way as it is in
} 2.2. (Is there an egcs .deb somewhere, or gcc272, or will I have
} to wait for the next compiler release in woody? It's annoying to
} have SCSI generic broken on Debian PPC because of a compiler
} problem.)
} * The big showstopper for me is that PPP doesn't work. Chat dials
} just fine, but as soon as it sends the password to my ISP, the
} connection goes down. In /var/log/messages, chat indicates it's
} sent the password, pppd prints "Serial connection established." and
} then exits with SIGHUP.
} * A GNOME session from gdm kills X when I move the mouse during
} ssh-password-gnome, but this may be a sound issue, I'll test with
} working dmasound later (hopefully).
}
} So, that's what I know... I'll report again tonight after testing sound
} with nvram built in.
}
} -Adam P.
}
} --- drivers/ide/ide-pmac.c.bak Tue May 9 12:11:32 2000
} +++ drivers/ide/ide-pmac.c Tue May 9 12:12:57 2000
} @@ -402,11 +402,11 @@
} feature_clear(np, FEATURE_IDE0_reset);
} break;
} case 1:
} - feature_set(np, FEATURE_Mediabay_IDE_reset);
} + feature_set(np, FEATURE_IDE1_reset);
} mdelay(10);
} - feature_set(np, FEATURE_Mediabay_IDE_enable);
} + feature_set(np, FEATURE_IDE1_enable);
} mdelay(10);
} - feature_clear(np, FEATURE_Mediabay_IDE_reset);
} + feature_clear(np, FEATURE_IDE1_reset);
} break;
} case 2:
} /* This one exists only for KL, I don't know about any
} --- drivers/sound/dmasound/dmasound_awacs.c.bak Tue May 9 19:04:34 2000
} +++ drivers/sound/dmasound/dmasound_awacs.c Tue May 9 19:11:06 2000
} @@ -17,6 +17,7 @@
} #include <linux/adb.h>
} #include <linux/nvram.h>
} #include <linux/vt_kern.h>
} +#include <linux/pmu.h>
} #include <linux/cuda.h>
}
} #include <asm/uaccess.h>
} @@ -24,6 +25,8 @@
} #include <asm/machdep.h>
} #include <asm/io.h>
} #include <asm/dbdma.h>
} +#include <asm/feature.h>
} +#include <asm/irq.h>
}
} #include "awacs_defs.h"
} #include "dmasound.h"
} @@ -1586,9 +1589,8 @@
} case SOUND_MIXER_READ_DEVMASK:
} data = SOUND_MASK_VOLUME | SOUND_MASK_SPEAKER
} | SOUND_MASK_LINE | SOUND_MASK_MIC
} - | SOUND_MASK_CD | SOUND_MASK_RECLEV
} - | SOUND_MASK_ALTPCM
} - | SOUND_MASK_MONITOR;
} + | SOUND_MASK_CD | SOUND_MASK_ALTPCM
} + | SOUND_MASK_RECLEV;
} return IOCTL_OUT(arg, data);
} case SOUND_MIXER_READ_RECMASK:
} data = SOUND_MASK_LINE | SOUND_MASK_MIC
} --- drivers/macintosh/mac_keyb.c.bak Tue May 9 20:33:07 2000
} +++ drivers/macintosh/mac_keyb.c Tue May 9 20:39:37 2000
} @@ -586,7 +586,9 @@
} #endif /* CONFIG_ADBMOUSE */
}
} /* XXX Needs to get rid of this, see comments in pmu.c */
} +#ifdef CONFIG_ADB_PMU
} extern int backlight_level;
} +#endif
}
} static void
} buttons_input(unsigned char *data, int nb, struct pt_regs *regs, int autopoll)
} @@ -627,7 +629,7 @@
} /* brightness decrease */
} case 0xa:
} /* down event */
} -#ifdef CONFIG_PPC
} +#ifdef CONFIG_ADB_PMU
} if ( data[1] == (data[1]&0xf) ) {
} if (backlight_level > 2)
} pmu_set_brightness(backlight_level-2);
} @@ -639,7 +641,7 @@
} /* brightness increase */
} case 0x9:
} /* down event */
} -#ifdef CONFIG_PPC
} +#ifdef CONFIG_ADB_PMU
} if ( data[1] == (data[1]&0xf) ) {
} if (backlight_level < 0x1e)
} pmu_set_brightness(backlight_level+2);
} --- arch/ppc/kernel/pmac_setup.c.bak Tue May 9 21:50:32 2000
} +++ arch/ppc/kernel/pmac_setup.c Tue May 9 21:52:25 2000
} @@ -506,7 +506,9 @@
} struct adb_request req;
} #endif /* CONFIG_ADB_CUDA */
}
} +#ifdef CONFIG_NVRAM
} pmac_nvram_update();
} +#endif
}
} switch (sys_ctrler) {
} #ifdef CONFIG_ADB_CUDA
} @@ -533,7 +535,9 @@
} struct adb_request req;
} #endif /* CONFIG_ADB_CUDA */
}
} +#ifdef CONFIG_NVRAM
} pmac_nvram_update();
} +#endif
}
} switch (sys_ctrler) {
} #ifdef CONFIG_ADB_CUDA
} --- drivers/video/clgenfb.c.bak Tue May 9 22:24:03 2000
} +++ drivers/video/clgenfb.c Tue May 9 22:27:21 2000
} @@ -78,7 +78,7 @@
} */
}
} /* enable debug output? */
} -/* #define CLGEN_DEBUG 1 */
} +#define CLGEN_DEBUG 1
}
} /* disable runtime assertions? */
} /* #define CLGEN_NDEBUG */
} @@ -2526,7 +2526,7 @@
} /* This is a best-guess for now */
}
}
} -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,13)
} +#if 0
}
} *display = pdev->base_address[0];
} if ((*display & PCI_BASE_ADDRESS_SPACE) == PCI_BASE_ADDRESS_SPACE_IO) {
} @@ -2648,7 +2648,7 @@
} board_size = clgen_get_memsize (info->regs);
} }
}
} -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,13)
} +#if 1
}
} if (!request_mem_region(board_addr, board_size, "clgenfb")) {
} pci_write_config_word (pdev, PCI_COMMAND, tmp16);
} @@ -2924,9 +2924,9 @@
} switch_monitor (info, 0);
}
} clgen_zorro_unmap (info);
} -#else
} +#elif defined(MODULE)
} clgen_pci_unmap (info);
} -#endif /* CONFIG_ZORRO */
} +#endif /* CONFIG_ZORRO or MODULE */
}
} unregister_framebuffer ((struct fb_info *) info);
} printk ("Framebuffer unregistered\n");
} --- include/asm-ppc/string.h.bak Tue May 9 19:01:23 2000
} +++ include/asm-ppc/string.h Tue May 9 22:35:18 2000
} @@ -2,16 +2,26 @@
} #define _PPC_STRING_H_
}
} #define __HAVE_ARCH_STRCPY
} +extern char * strcpy(char *,const char *);
} #define __HAVE_ARCH_STRNCPY
} +extern char * strncpy(char *,const char *, __kernel_size_t);
} #define __HAVE_ARCH_STRLEN
} +extern __kernel_size_t strlen(const char *);
} #define __HAVE_ARCH_STRCMP
} +extern int strcmp(const char *,const char *);
} #define __HAVE_ARCH_STRCAT
} +extern char * strcat(char *, const char *);
} #define __HAVE_ARCH_MEMSET
} +extern void * memset(void *,int,__kernel_size_t);
} #define __HAVE_ARCH_BCOPY
} #define __HAVE_ARCH_MEMCPY
} +extern void * memcpy(void *,const void *,__kernel_size_t);
} #define __HAVE_ARCH_MEMMOVE
} +extern void * memmove(void *,const void *,__kernel_size_t);
} #define __HAVE_ARCH_MEMCMP
} +extern int memcmp(const void *,const void *,__kernel_size_t);
} #define __HAVE_ARCH_MEMCHR
} +extern void * memchr(const void *,int,__kernel_size_t);
}
} extern int strcasecmp(const char *, const char *);
} extern int strncasecmp(const char *, const char *, int);
} --- arch/ppc/kernel/ppc_ksyms.c.bak Tue May 9 22:44:09 2000
} +++ arch/ppc/kernel/ppc_ksyms.c Tue May 9 22:45:29 2000
} @@ -271,6 +271,7 @@
} #endif
} EXPORT_SYMBOL(down_read_failed);
}
} +#if defined(CONFIG_XMON) || defined(CONFIG_KGDB)
} extern void (*debugger)(struct pt_regs *regs);
} extern int (*debugger_bpt)(struct pt_regs *regs);
} extern int (*debugger_sstep)(struct pt_regs *regs);
} @@ -284,3 +285,4 @@
} EXPORT_SYMBOL(debugger_iabr_match);
} EXPORT_SYMBOL(debugger_dabr_match);
} EXPORT_SYMBOL(debugger_fault_handler);
} +#endif
Reply to: