Skip to contentSkip to conversation

SN makefile update take 2

PATCH New Jesse Barnes 1 participant 1 message Mar 19, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 SN makefile update take 2

Quoted 3 lines · Sam Ravnborg

The best proposal I can come up with right now is to accept the following command:
make arch/ia64/sn/fprom/ fprom

This seems to work if I only include the subdirectory on the command line.

Quoted 4 lines

So arch/ia64/sn/fprom/Makefile looks something like this:
.PHONY: fakeprom
fakeprom: $(obj)/fakeprom
command to create fprom

Got it.

David, here's an updated patch that doesn't mess with arch/ia64/Makefile in case you hadn't applied the last one yet.

Thanks,
Jesse

arch/ia64/Makefile +2 -5
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/Makefile linux-2.5.64-snmakefiles/arch/ia64/Makefile
@@ -50,11 +50,8 @@
 core-$(CONFIG_IA64_GENERIC) 	+= arch/ia64/dig/ arch/ia64/hp/common/ arch/ia64/hp/zx1/ \
 				   arch/ia64/hp/sim/
 core-$(CONFIG_IA64_HP_ZX1)	+= arch/ia64/dig/
-core-$(CONFIG_IA64_SGI_SN)	+= arch/ia64/sn/kernel/ \
-				   arch/ia64/sn/io/ \
-				   arch/ia64/sn/io/sn2/ \
-				   arch/ia64/sn/io/sn2/pcibr/ \
-				   arch/ia64/sn/kernel/sn2/
+core-$(CONFIG_IA64_SGI_SN)	+= arch/ia64/sn/
+
 drivers-$(CONFIG_PCI)		+= arch/ia64/pci/
 drivers-$(CONFIG_IA64_HP_SIM)	+= arch/ia64/hp/sim/
 drivers-$(CONFIG_IA64_HP_ZX1)	+= arch/ia64/hp/common/ arch/ia64/hp/zx1/
arch/ia64/sn/Makefile +14 -0
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/Makefile linux-2.5.64-snmakefiles/arch/ia64/sn/Makefile
@@ -0,0 +1,14 @@
+# arch/ia64/sn/Makefile
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.  See the file "COPYING" in the main directory of this archive
+# for more details.
+#
+# Copyright (C) 2003 Silicon Graphics, Inc.  All Rights Reserved.
+#
+# Makefile for the sn ia64 subplatform
+#
+
+EXTRA_CFLAGS := -DLITTLE_ENDIAN
+
+obj-y += kernel/ # io/
arch/ia64/sn/fakeprom/Makefile +19 -10
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/fakeprom/Makefile linux-2.5.64-snmakefiles/arch/ia64/sn/fakeprom/Makefile
@@ -1,20 +1,29 @@
+# arch/ia64/sn/fakeprom/Makefile
 #
 # This file is subject to the terms and conditions of the GNU General Public
 # License.  See the file "COPYING" in the main directory of this archive
 # for more details.
 #
-#  Copyright (c) 2000-2001 Silicon Graphics, Inc.  All rights reserved.
+#  Copyright (c) 2000-2003 Silicon Graphics, Inc.  All rights reserved.
 #
+# Medusa fake PROM support
+#
+
+EXTRA_TARGETS := fpromasm.o main.o fw-emu.o fpmem.o klgraph_init.o \
+		 fprom vmlinux.sym
+
+OBJS := $(obj)/fpromasm.o $(obj)/main.o $(obj)/fw-emu.o $(obj)/fpmem.o \
+	$(obj)/klgraph_init.o
+
+LDFLAGS_fprom = -static -T
 
-obj-y=fpromasm.o main.o fw-emu.o fpmem.o klgraph_init.o
+.PHONY: fprom
 
-fprom: $(OBJ)
-	$(LD) -static -Tfprom.lds -o fprom $(OBJ) $(LIB)
+fprom: $(obj)/fprom
 
-.S.o:
-	$(CC)  -D__ASSEMBLY__ $(AFLAGS) $(AFLAGS_KERNEL) -c -o $*.o $<
-.c.o:
-	$(CC)  $(CFLAGS) $(CFLAGS_KERNEL) -c -o $*.o $<
+$(obj)/fprom: $(src)/fprom.lds $(OBJS) arch/ia64/lib/lib.a FORCE
+	$(call if_changed,ld)
 
-clean:
-	rm -f *.o fprom
+$(obj)/vmlinux.sym: $(src)/make_textsym System.map
+	$(src)/make_textsym vmlinux > vmlinux.sym
+	$(call cmd,cptotop)
arch/ia64/sn/fakeprom/README +32 -0
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/fakeprom/README linux-2.5.64-snmakefiles/arch/ia64/sn/fakeprom/README
@@ -1,3 +1,35 @@
+/*
+ * Copyright (c) 2002-2003 Silicon Graphics, Inc.  All Rights Reserved.
+ * 
+ * This program is free software; you can redistribute it and/or modify it 
+ * under the terms of version 2 of the GNU General Public License 
+ * as published by the Free Software Foundation.
+ * 
+ * This program is distributed in the hope that it would be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of 
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+ * 
+ * Further, this software is distributed without any warranty that it is 
+ * free of the rightful claim of any third person regarding infringement 
+ * or the like.  Any license provided herein, whether implied or 
+ * otherwise, applies only to this software file.  Patent licenses, if 
+ * any, provided herein do not apply to combinations of this program with 
+ * other software, or any other product whatsoever.
+ * 
+ * You should have received a copy of the GNU General Public 
+ * License along with this program; if not, write the Free Software 
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+ * 
+ * Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, 
+ * Mountain View, CA  94043, or:
+ * 
+ * http://www.sgi.com 
+ * 
+ * For further information regarding this notice, see: 
+ * 
+ * http://oss.sgi.com/projects/GenInfo/NoticeExplan
+ */
+
 This directory contains the files required to build
 the fake PROM image that is currently being used to
 boot IA64 kernels running under the SGI Medusa kernel.
arch/ia64/sn/fakeprom/fpmem.c +21 -9
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/fakeprom/fpmem.c linux-2.5.64-snmakefiles/arch/ia64/sn/fakeprom/fpmem.c
@@ -4,7 +4,7 @@
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
  *
- * Copyright (C) 2000-2002 Silicon Graphics, Inc.  All rights reserved.
+ * Copyright (C) 2000-2003 Silicon Graphics, Inc.  All rights reserved.
  */
 
 
@@ -168,13 +168,13 @@
 #endif
 
 void
-build_mem_desc(efi_memory_desc_t *md, int type, long paddr, long numbytes)
+build_mem_desc(efi_memory_desc_t *md, int type, long paddr, long numbytes, long attr)
 {
         md->type = type;
         md->phys_addr = paddr;
         md->virt_addr = 0;
         md->num_pages = numbytes >> 12;
-        md->attribute = EFI_MEMORY_WB;
+        md->attribute = attr;
 }
 
 int
@@ -236,28 +236,40 @@
                                  */
                                 if (bank = 0) {
 					if (cnode = 0) {
+						hole = 2*1024*1024;
+						build_mem_desc(md, EFI_PAL_CODE, paddr, hole, EFI_MEMORY_WB|EFI_MEMORY_WB);
+						numbytes -= hole;
+                                        	paddr += hole;
+			        		count++ ;
+                                        	md += mdsize;
 						hole = 1*1024*1024;
-						build_mem_desc(md, EFI_PAL_CODE, paddr, hole);
+						build_mem_desc(md, EFI_CONVENTIONAL_MEMORY, paddr, hole, EFI_MEMORY_UC);
 						numbytes -= hole;
                                         	paddr += hole;
 			        		count++ ;
                                         	md += mdsize;
-						hole = 3*1024*1024;
-						build_mem_desc(md, EFI_RUNTIME_SERVICES_DATA, paddr, hole);
+						hole = 1*1024*1024;
+						build_mem_desc(md, EFI_RUNTIME_SERVICES_DATA, paddr, hole, EFI_MEMORY_WB|EFI_MEMORY_WB);
 						numbytes -= hole;
                                         	paddr += hole;
 			        		count++ ;
                                         	md += mdsize;
 					} else {
-						hole = PROMRESERVED_SIZE;
-                                        	build_mem_desc(md, EFI_RUNTIME_SERVICES_DATA, paddr, hole);
+						hole = 2*1024*1024;
+                                        	build_mem_desc(md, EFI_RUNTIME_SERVICES_DATA, paddr, hole, EFI_MEMORY_WB|EFI_MEMORY_WB);
+						numbytes -= hole;
+                                        	paddr += hole;
+			        		count++ ;
+                                        	md += mdsize;
+						hole = 2*1024*1024;
+                                        	build_mem_desc(md, EFI_RUNTIME_SERVICES_DATA, paddr, hole, EFI_MEMORY_UC);
 						numbytes -= hole;
                                         	paddr += hole;
 			        		count++ ;
                                         	md += mdsize;
 					}
                                 }
-                                build_mem_desc(md, EFI_CONVENTIONAL_MEMORY, paddr, numbytes);
+                                build_mem_desc(md, EFI_CONVENTIONAL_MEMORY, paddr, numbytes, EFI_MEMORY_WB|EFI_MEMORY_WB);
 
 			        md += mdsize ;
 			        count++ ;
arch/ia64/sn/fakeprom/fprom.lds +31 -0
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/fakeprom/fprom.lds linux-2.5.64-snmakefiles/arch/ia64/sn/fakeprom/fprom.lds
@@ -1,3 +1,34 @@
+/*
+ * Copyright (c) 2002-2003 Silicon Graphics, Inc.  All Rights Reserved.
+ * 
+ * This program is free software; you can redistribute it and/or modify it 
+ * under the terms of version 2 of the GNU General Public License 
+ * as published by the Free Software Foundation.
+ * 
+ * This program is distributed in the hope that it would be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of 
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+ * 
+ * Further, this software is distributed without any warranty that it is 
+ * free of the rightful claim of any third person regarding infringement 
+ * or the like.  Any license provided herein, whether implied or 
+ * otherwise, applies only to this software file.  Patent licenses, if 
+ * any, provided herein do not apply to combinations of this program with 
+ * other software, or any other product whatsoever.
+ * 
+ * You should have received a copy of the GNU General Public 
+ * License along with this program; if not, write the Free Software 
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+ * 
+ * Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, 
+ * Mountain View, CA  94043, or:
+ * 
+ * http://www.sgi.com 
+ * 
+ * For further information regarding this notice, see: 
+ * 
+ * http://oss.sgi.com/projects/GenInfo/NoticeExplan
+ */
 
 OUTPUT_FORMAT("elf64-ia64-little")
 OUTPUT_ARCH(ia64)
arch/ia64/sn/fakeprom/make_textsym +171 -0

171 lines not on this page · raw message

arch/ia64/sn/io/Makefile +6 -2
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/io/Makefile linux-2.5.64-snmakefiles/arch/ia64/sn/io/Makefile
@@ -1,3 +1,4 @@
+# arch/ia64/sn/io/Makefile
 #
 # This file is subject to the terms and conditions of the GNU General Public
 # License.  See the file "COPYING" in the main directory of this archive
@@ -5,7 +6,8 @@
 #
 # Copyright (C) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
 #
-# Makefile for the sn kernel routines.
+# Makefile for the sn io routines.
+#
 
 EXTRA_CFLAGS    := -DLITTLE_ENDIAN
 
@@ -19,4 +21,6 @@
 		alenlist.o pci.o pci_dma.o ate_utils.o \
 		ifconfig_net.o io.o ioconfig_bus.o
 
-obj-$(CONFIG_PCIBA)		+= pciba.o
+obj-$(CONFIG_IA64_SGI_SN2) += sn2/
+
+obj-$(CONFIG_PCIBA) += pciba.o
arch/ia64/sn/io/sn2/Makefile +4 -3
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/io/sn2/Makefile linux-2.5.64-snmakefiles/arch/ia64/sn/io/sn2/Makefile
@@ -1,3 +1,4 @@
+# arch/ia64/sn/io/sn2/Makefile
 #
 # This file is subject to the terms and conditions of the GNU General Public
 # License.  See the file "COPYING" in the main directory of this archive
@@ -6,14 +7,14 @@
 # Copyright (C) 2002-2003 Silicon Graphics, Inc.  All Rights Reserved.
 #
 # Makefile for the sn2 specific io routines.
+#
 
-EXTRA_CFLAGS    := -DLITTLE_ENDIAN
+EXTRA_CFLAGS := -DLITTLE_ENDIAN
 
-obj-y += bte_error.o geo_op.o klconflib.o klgraph.o l1.o \
+obj-y += pcibr/ bte_error.o geo_op.o klconflib.o klgraph.o l1.o \
 	 l1_command.o ml_iograph.o ml_SN_init.o ml_SN_intr.o module.o \
 	 pci_bus_cvlink.o pciio.o pic.o sgi_io_init.o shub.o shuberror.o \
 	 shub_intr.o shubio.o xbow.o xtalk.o
 
 obj-$(CONFIG_KDB) += kdba_io.o 
-
 obj-$(CONFIG_SHUB_1_0_SPECIFIC) += efi-rtc.o
arch/ia64/sn/io/sn2/l1_command.c +2 -2
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/io/sn2/l1_command.c linux-2.5.64-snmakefiles/arch/ia64/sn/io/sn2/l1_command.c
@@ -154,7 +154,7 @@
 
     return ret;
 }
-
+#ifdef CONFIG_PCI
 /*
  * iobrick_module_get_nasid() returns a module_id which has the brick
  * type encoded in bits 15-12, but this is not the true brick type...
@@ -185,7 +185,7 @@
 
     return -1;    /* unknown brick */
 }
-
+#endif
 int iobrick_module_get_nasid(nasid_t nasid)
 {
     int io_moduleid;
arch/ia64/sn/io/sn2/pcibr/Makefile +2 -0
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/io/sn2/pcibr/Makefile linux-2.5.64-snmakefiles/arch/ia64/sn/io/sn2/pcibr/Makefile
@@ -1,3 +1,4 @@
+# arch/ia64/sn/io/sn2/pcibr/Makefile
 #
 # This file is subject to the terms and conditions of the GNU General Public
 # License.  See the file "COPYING" in the main directory of this archive
@@ -6,6 +7,7 @@
 # Copyright (C) 2002-2003 Silicon Graphics, Inc.  All Rights Reserved.
 #
 # Makefile for the sn2 specific pci bridge routines.
+#
 
 EXTRA_CFLAGS    := -DLITTLE_ENDIAN
 
arch/ia64/sn/kernel/Makefile +8 -36

54 lines not on this page · raw message

arch/ia64/sn/kernel/setup.c +4 -3
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/kernel/setup.c linux-2.5.64-snmakefiles/arch/ia64/sn/kernel/setup.c
@@ -237,7 +237,7 @@
 		       "%x.%02x\n", SN_SAL_MIN_MAJOR, SN_SAL_MIN_MINOR);
 		panic("PROM version too old\n");
 	}
-
+#ifdef CONFIG_PCI
 #ifdef CONFIG_IA64_SGI_SN2
 	{
 		extern void io_sh_swapper(int, int);
@@ -253,7 +253,7 @@
 		(void)get_master_baseio_nasid();
 	}
 #endif
-
+#endif /* CONFIG_PCI */
 	status = ia64_sal_freq_base(SAL_FREQ_BASE_REALTIME_CLOCK, &ticks_per_sec, &drift);
 	if (status != 0 || ticks_per_sec < 100000) {
 		printk(KERN_WARNING "unable to determine platform RTC clock frequency, guessing.\n");
@@ -349,7 +349,7 @@
         for (cnode=0; cnode < numnodes; cnode++)
 		memcpy(nodepdaindr[cnode]->pernode_pdaindr, nodepdaindr, sizeof(nodepdaindr));
 
-
+#ifdef CONFIG_PCI
 	/*
 	 * Set up IO related platform-dependent nodepda fields.
 	 * The following routine actually sets up the hubinfo struct
@@ -359,6 +359,7 @@
 		init_platform_nodepda(nodepdaindr[cnode], cnode);
 		bte_init_node (nodepdaindr[cnode], cnode);
 	}
+#endif
 }
 
 /**
arch/ia64/sn/kernel/sn2/Makefile +7 -31
diff -Naur -X /usr/people/jbarnes/dontdiff linux-2.5.64-ia64/arch/ia64/sn/kernel/sn2/Makefile linux-2.5.64-snmakefiles/arch/ia64/sn/kernel/sn2/Makefile
@@ -1,38 +1,14 @@
-#
 # arch/ia64/sn/kernel/sn2/Makefile
 #
+# This file is subject to the terms and conditions of the GNU General Public
+# License.  See the file "COPYING" in the main directory of this archive
+# for more details.
+#
 # Copyright (C) 1999,2001-2002 Silicon Graphics, Inc. All rights reserved.
 #
-# This program is free software; you can redistribute it and/or modify it 
-# under the terms of version 2 of the GNU General Public License 
-# as published by the Free Software Foundation.
-# 
-# This program is distributed in the hope that it would be useful, but 
-# WITHOUT ANY WARRANTY; without even the implied warranty of 
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
-# 
-# Further, this software is distributed without any warranty that it is 
-# free of the rightful claim of any third person regarding infringement 
-# or the like.  Any license provided herein, whether implied or 
-# otherwise, applies only to this software file.  Patent licenses, if 
-# any, provided herein do not apply to combinations of this program with 
-# other software, or any other product whatsoever.
-# 
-# You should have received a copy of the GNU General Public 
-# License along with this program; if not, write the Free Software 
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
-# 
-# Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, 
-# Mountain View, CA  94043, or:
-# 
-# http://www.sgi.com 
-# 
-# For further information regarding this notice, see: 
-# 
-# http://oss.sgi.com/projects/GenInfo/NoticeExplan
+# sn2 specific kernel files
 #
 
-EXTRA_CFLAGS    := -DLITTLE_ENDIAN
+EXTRA_CFLAGS := -DLITTLE_ENDIAN
 
-obj-y += cache.o iomv.o ptc_deadlock.o sn2_smp.o \
-         sn_proc_fs.o
+obj-y += cache.o iomv.o ptc_deadlock.o sn2_smp.o sn_proc_fs.o
arch/ia64/sn/tools/make_textsym +0 -171

171 lines not on this page · raw message