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

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: