Re: LKCD on 2.4.23

Micah Anderson <[email protected]> Thu, 6 May 2004 15:41:06 -0500
Newsgroups gmane.linux.lkcd.general
Message-ID <[email protected]>
Jonathan, 

Did you do this same process for the 2.4.22 patch?

Thanks,
micah

On Mon, 15 Dec 2003, Jonathan Sambrook wrote:

> At 15:35 on Tue 09/12/03, [email protected] masquerading as 'Hariprasad Nellitheertha' wrote:
> > Hello All,
> > 
> > I was able to get the patches for 2.4.23 ready. I am reproducing the
> > steps to get this working from yesterday's note.
> > 
> > 1. Download the "2.4" and "lkcdutils" code from cvs using the tag
> > "linux-2423". Use the following commands to download them.
> > 
> > cvs -z 9 -d:pserver:[email protected]:443/cvsroot/lkcd co -P
> > -r linux-2423 2.4
> > 
> > cvs -z 9 -d:pserver:[email protected]:443/cvsroot/lkcd co -P
> > -r linux-2423 lkcdutils
> > 
> > 2. Copy over the 2.4 directory contents onto the linux-2.4.23 vanilla
> > source tree.
> > 
> > 3. Apply the lkcd-2423.patch (attached with this note) to the kernel
> > source tree. 
> 
> 
> What's with this stage? Recent yet-to-be-checked in mods?
> 
> 
> 
> > 4. Build and boot to the new kernel. You should have an lkcd enabled
> > 2.4.23 kernel.
> > 
> > 5. The normal configure/make/make install steps will suffice for
> > lkcdutils.
> > 
> > Kindly test this and let us know the results. 
> 
> Once again, thanks for all this.
> 
> I've pulled from cvs, copied over 2.4.23, applied the patch, hand
> editted out some of the extraneous differences between the base kernel
> (underneath the LCKD changes) and vanilla 2.4.23 and have posted the
> resultant patch to:
> 
> 	http://jonathan.dsvr.co.uk/kernel/index.html
> 
> specifically:
> 
> 	http://jonathan.dsvr.co.uk/kernel/patches/lkcd/lkcd-2.4.23-cvs20031215-a.patch
> 
> or:
> 
> 	http://jonathan.dsvr.co.uk/kernel/patches/lkcd/lkcd-2.4.23-cvs20031215-a.patch.bz2
> 
> 
> As I say on the web page: IANALKCDD, still less a multi-platform one, so
> (contructive) criticism welcome/needed/hoped for :)
> 
> Regards,
> Jonathan Sambrook
> 
> 
> 
> > 
> > Regards, Hari
> > 
> > 
> > > On Thu, 2003-11-27 at 13:14, Micah Anderson wrote:
> > > > And which one of these is considered stable or at least a release? It
> > > > seems like 4.1-1 is the "released" lkcdutils, but if I have a 2.4.22
> > > > kernel, can I apply the 2.4.21 patch and use lkcdutils 4.1-1, or can I only
> > > > use 4.2? Or should I be using the 2.4.20 patch?
> > > > 
> > > > Thanks,
> > > > micah
> > > > 
> > 
> 
> > diff -Naur linux-2.4.23.before/Makefile linux-2.4.23.after/Makefile
> > --- linux-2.4.23.before/Makefile	2003-12-09 11:29:52.000000000 +0530
> > +++ linux-2.4.23.after/Makefile	2003-12-09 11:27:49.000000000 +0530
> > @@ -152,6 +152,7 @@
> >  DRIVERS-$(CONFIG_FC4) += drivers/fc4/fc4.a
> >  DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o
> >  DRIVERS-$(CONFIG_FUSION_BOOT) += drivers/message/fusion/fusion.o
> > +DRIVERS-$(CONFIG_DUMP) += drivers/dump/dumpdrv.o
> >  DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394drv.o
> >  
> >  ifneq ($(CONFIG_CD_NO_IDESCSI)$(CONFIG_BLK_DEV_IDECD)$(CONFIG_BLK_DEV_SR)$(CONFIG_PARIDE_PCD),)
> > @@ -172,7 +173,7 @@
> >  DRIVERS-$(CONFIG_PPC32) += drivers/macintosh/macintosh.o
> >  DRIVERS-$(CONFIG_MAC) += drivers/macintosh/macintosh.o
> >  DRIVERS-$(CONFIG_ISAPNP) += drivers/pnp/pnp.o
> > -DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/sgi.a
> > +#DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/sgi.a
> >  DRIVERS-$(CONFIG_VT) += drivers/video/video.o
> >  DRIVERS-$(CONFIG_PARIDE) += drivers/block/paride/paride.a
> >  DRIVERS-$(CONFIG_HAMRADIO) += drivers/net/hamradio/hamradio.o
> > diff -Naur linux-2.4.23.before/arch/i386/config.in linux-2.4.23.after/arch/i386/config.in
> > --- linux-2.4.23.before/arch/i386/config.in	2003-12-09 11:29:52.000000000 +0530
> > +++ linux-2.4.23.after/arch/i386/config.in	2003-12-09 11:28:34.000000000 +0530
> > @@ -231,6 +231,7 @@
> >        define_bool CONFIG_X86_IO_APIC y
> >     fi
> >  else
> > +   int  'Maximum number of CPUs (2-32)' CONFIG_NR_CPUS 32
> >     bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
> >     if [ "$CONFIG_X86_NUMA" = "y" ]; then
> >        #Platform Choices
> > diff -Naur linux-2.4.23.before/arch/i386/kernel/irq.c linux-2.4.23.after/arch/i386/kernel/irq.c
> > --- linux-2.4.23.before/arch/i386/kernel/irq.c	2003-12-09 11:32:53.000000000 +0530
> > +++ linux-2.4.23.after/arch/i386/kernel/irq.c	2003-12-09 11:29:35.000000000 +0530
> > @@ -1091,7 +1091,7 @@
> >  
> >  static struct proc_dir_entry * smp_affinity_entry [NR_IRQS];
> >  
> > -static unsigned long irq_affinity [NR_IRQS] = { [0 ... NR_IRQS-1] = ~0UL };
> > +unsigned long irq_affinity [NR_IRQS] = { [0 ... NR_IRQS-1] = ~0UL };
> >  static int irq_affinity_read_proc (char *page, char **start, off_t off,
> >  			int count, int *eof, void *data)
> >  {
> > diff -Naur linux-2.4.23.before/drivers/Makefile linux-2.4.23.after/drivers/Makefile
> > --- linux-2.4.23.before/drivers/Makefile	2003-12-09 11:29:53.000000000 +0530
> > +++ linux-2.4.23.after/drivers/Makefile	2003-12-09 11:27:56.000000000 +0530
> > @@ -6,7 +6,7 @@
> >  #
> >  
> >  
> > -mod-subdirs :=	dio hil mtd sbus video macintosh usb input telephony sgi ide \
> > +mod-subdirs :=	dio hil mtd sbus video macintosh usb input telephony ide \
> >  		message/i2o message/fusion scsi md ieee1394 pnp isdn atm \
> >  		fc4 net/hamradio i2c acpi bluetooth dump
> >  
> > @@ -30,7 +30,7 @@
> >  subdir-$(CONFIG_USB)		+= usb
> >  subdir-$(CONFIG_INPUT)		+= input
> >  subdir-$(CONFIG_PHONE)		+= telephony
> > -subdir-$(CONFIG_SGI)		+= sgi
> > +#subdir-$(CONFIG_SGI)		+= sgi
> >  subdir-$(CONFIG_IDE)		+= ide
> >  subdir-$(CONFIG_SCSI)		+= scsi
> >  subdir-$(CONFIG_I2O)		+= message/i2o
> > diff -Naur linux-2.4.23.before/include/asm-i386/smp.h linux-2.4.23.after/include/asm-i386/smp.h
> > --- linux-2.4.23.before/include/asm-i386/smp.h	2002-11-29 05:23:15.000000000 +0530
> > +++ linux-2.4.23.after/include/asm-i386/smp.h	2003-12-09 11:28:16.000000000 +0530
> > @@ -31,7 +31,11 @@
> >   
> >  extern void smp_alloc_memory(void);
> >  extern unsigned long phys_cpu_present_map;
> > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE)
> > +extern volatile unsigned long cpu_online_map;
> > +#else
> >  extern unsigned long cpu_online_map;
> > +#endif
> >  extern volatile unsigned long smp_invalidate_needed;
> >  extern int pic_mode;
> >  extern int smp_num_siblings;
> > diff -Naur linux-2.4.23.before/include/linux/mm.h linux-2.4.23.after/include/linux/mm.h
> > --- linux-2.4.23.before/include/linux/mm.h	2003-12-09 11:29:53.000000000 +0530
> > +++ linux-2.4.23.after/include/linux/mm.h	2003-12-09 11:29:06.000000000 +0530
> > @@ -317,9 +317,11 @@
> >  #define TryLockPage(page)	test_and_set_bit(PG_locked, &(page)->flags)
> >  #define PageChecked(page)	test_bit(PG_checked, &(page)->flags)
> >  #define SetPageChecked(page)	set_bit(PG_checked, &(page)->flags)
> > +#define ClearPageChecked(page)	clear_bit(PG_checked, &(page)->flags)
> >  #define PageLaunder(page)	test_bit(PG_launder, &(page)->flags)
> >  #define SetPageLaunder(page)	set_bit(PG_launder, &(page)->flags)
> >  #define ClearPageLaunder(page)	clear_bit(PG_launder, &(page)->flags)
> > +#define ClearPageArch1(page)	clear_bit(PG_arch_1, &(page)->flags) 
> >  
> >  /*
> >   * The zone field is never updated after free_area_init_core()
> > diff -Naur linux-2.4.23.before/kernel/panic.c linux-2.4.23.after/kernel/panic.c
> > --- linux-2.4.23.before/kernel/panic.c	2003-12-09 11:32:40.000000000 +0530
> > +++ linux-2.4.23.after/kernel/panic.c	2003-12-09 11:29:17.000000000 +0530
> > @@ -13,6 +13,9 @@
> >  #include <linux/delay.h>
> >  #include <linux/reboot.h>
> >  #include <linux/notifier.h>
> > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE)
> > +#include <linux/dump.h>
> > +#endif
> >  #include <linux/init.h>
> >  #include <linux/sysrq.h>
> >  #include <linux/interrupt.h>
> > @@ -21,6 +24,11 @@
> >  asmlinkage void sys_sync(void);	/* it's really int */
> >  
> >  int panic_timeout;
> > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE)
> > +int (*dump_function_ptr)(char *, struct pt_regs *) = 0;
> > +volatile int dump_in_progress = 0;
> > +volatile int dumping_cpu = 0;
> > +#endif
> >  
> >  struct notifier_block *panic_notifier_list;
> >  
> > @@ -52,6 +60,11 @@
> >          unsigned long caller = (unsigned long) __builtin_return_address(0);
> >  #endif
> >  
> > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE)
> > +        struct pt_regs regs;
> > +        get_current_regs(&regs);
> > +#endif
> > +	
> >  #ifdef CONFIG_VT
> >  	disable_console_blank();
> >  #endif
> > @@ -70,12 +83,18 @@
> >  		sys_sync();
> >  	bust_spinlocks(0);
> >  
> > +#if !defined(CONFIG_DUMP) && !defined(CONFIG_DUMP_MODULE)
> >  #ifdef CONFIG_SMP
> >  	smp_send_stop();
> >  #endif
> > +#endif
> >  
> >  	notifier_call_chain(&panic_notifier_list, 0, NULL);
> >  
> > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE)
> > +        dump(buf, &regs);
> > +#endif
> > +	
> >  	if (panic_timeout > 0)
> >  	{
> >  		/*
> > diff -Naur linux-2.4.23.before/mm/page_alloc.c linux-2.4.23.after/mm/page_alloc.c
> > --- linux-2.4.23.before/mm/page_alloc.c	2003-12-09 11:32:27.000000000 +0530
> > +++ linux-2.4.23.after/mm/page_alloc.c	2003-12-09 11:28:49.000000000 +0530
> > @@ -89,6 +89,8 @@
> >  	struct page *base;
> >  	zone_t *zone;
> >  
> > +        ClearPageInuseOrder(page, order);       /* controlled by CONFIG_DUMP for lkcd */
> > +
> >  	/*
> >  	 * Yes, think what happens when other parts of the kernel take 
> >  	 * a reference to a page in order to pin it for io. -ben
> > @@ -228,6 +230,8 @@
> >  			page = expand(zone, page, index, order, curr_order, area);
> >  			spin_unlock_irqrestore(&zone->lock, flags);
> >  
> > +                        SetPageInuseOrder(page, order); /* controlled by CONFIG_DUMP for lkcd */
> > +			
> >  			set_page_count(page, 1);
> >  			if (BAD_RANGE(zone,page))
> >  				BUG();
> > @@ -287,6 +291,9 @@
> >  					set_page_count(tmp, 1);
> >  					page = tmp;
> >  
> > +                                        SetPageInuseOrder(page, order); /* controlled by CONFIG_
> > +									   DUMP for lkcd */
> > +										
> >  					if (page->buffers)
> >  						BUG();
> >  					if (page->mapping)
> 
> 
> -- 
>                    
>  Jonathan Sambrook 
> Software  Developer 
>  Designer  Servers




-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to 
deliver higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3