NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-ia64/51261: ia64 fix build.sh release and distribution targets
The following reply was made to PR port-ia64/51261; it has been noted by GNATS.
From: scole_mail%gmx.com@localhost
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: port-ia64/51261: ia64 fix build.sh release and distribution targets
Date: Tue, 21 Jun 2016 17:39:22 -0400
Summary of changes: (? = New, D = Removed, M = Modified)
=============================================================
? common/lib/libc/arch/ia64/string/ # new dir
? common/lib/libc/arch/ia64/string/bcopy.S # import from FreeBSD
? common/lib/libc/arch/ia64/string/bzero.S # import from FreeBSD
? common/lib/libc/arch/ia64/string/ffs.S # import from FreeBSD
? common/lib/libc/arch/ia64/string/memcpy.S # import from FreeBSD
? common/lib/libc/arch/ia64/string/memmove.S # import from FreeBSD
? distrib/ia64/ # new dir
? distrib/ia64/Makefile # for building release
? distrib/ia64/cdroms/ # new dir
? distrib/ia64/cdroms/Makefile # for building cdrom release
? distrib/ia64/cdroms/installcd/ # for building cdrom release
? distrib/ia64/cdroms/installcd/Makefile # for building cdrom release
? distrib/sets/lists/base/md.ia64 # add skiload loader.sym, loader.efi eventually
? distrib/sets/lists/comp/md.ia64 # add ia64 includes
? etc/etc.ia64/ # new dir
? etc/etc.ia64/MAKEDEV.conf # initial stubs for build
? etc/etc.ia64/Makefile.inc # initial stubs for build
? etc/etc.ia64/rc.conf.append # initial stubs for build
? etc/etc.ia64/ttys # initial stubs for build
? lib/libc/arch/ia64/gen/fpgetsticky.c # stub for build
? lib/libc/arch/ia64/gen/fpsetsticky.c # stub for build
? lib/libc/arch/ia64/gen/getcontext.S # stub for build
? lib/libc/arch/ia64/gen/makecontext.c # stub for build
? lib/libc/arch/ia64/gen/swapcontext.S # stub for build
? sys/arch/ia64/ia64/core_machdep.c # stub for build
? sys/arch/ia64/ia64/procfs_machdep.c # added
M distrib/sets/lists/base/shl.mi # change dynamicroot for ./lib/npf*, usr/libexec/ld.elf_so
M distrib/sets/lists/modules/md.ia64 # add exec_elf64
M external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c # add ia64 case for JEMALLOC_TINY_MIN_2POW
M lib/libc/arch/ia64/gen/Makefile.inc # add ieee754 & fp* files
M lib/libc/arch/ia64/sys/__clone.S # add stub for build
M lib/libc/arch/ia64/sys/ptrace.S # add stub for build
M lib/libc/arch/ia64/sys/sbrk.S # add stub for build
M lib/libc/arch/ia64/sys/shmat.S # add stub for build
M lib/libkvm/kvm_ia64.c # add stub for build
M share/mk/bsd.own.mk # don't build elf32 obj format, MKDYNAMICROOT=no, MKRUMP=no
M sys/arch/ia64/conf/files.ia64 # add pci which acpi requires now
M sys/arch/ia64/ia64/support.S # use bcopy,memcpy from common/lib/libc/arch/ia64/string
M sys/arch/ia64/ia64/vm_machdep.c # add volatile flag for trapframe var
M sys/arch/ia64/include/Makefile # remove acpi_func.h dependency
M sys/arch/ia64/include/mcontext.h # add stubs __gregs __fpregs, __UC_MACHINE_PC
M sys/arch/ia64/include/pci_machdep.h # add pci_enumerate_bus
M sys/arch/ia64/pci/pci_machdep.c # add pci_enumerate_bus stub
M sys/arch/ia64/stand/Makefile # include exec_elf64, not exec_elf32
M sys/arch/ia64/stand/ia64/efi/Makefile # add bsd.files.mk include
M sys/lib/libkern/arch/ia64/Makefile.inc # add common bcopy bzero ffs memcpy memmove
D sys/arch/ia64/include/acpi_func.h # deleted, use sys/dev version
M sys/modules/Makefile # include exec_elf64, not exec_elf32
M tests/lib/libc/arch/ia64/return_one.S # use correct ia64 nop
M tests/lib/libc/sys/t_getrusage.c # use correct ia64 nop
D sys/lib/libkern/arch/ia64/memcpy.S # deleted, use common/libc version
Apply patch with "cd .../src ; patch -s -p0 < .../patchfile"
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ common/lib/libc/arch/ia64/string/bcopy.S 2016-06-18 10:09:00.000000000 -0400
@@ -0,0 +1,98 @@
+/*-
+ * Copyright (c) 2000 Doug Rabson
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <machine/asm.h>
+/*__FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/bcopy.S 125669 2004-02-10 20:45:28Z cperciva $"); */
+
+/*
+ * Not the fastest bcopy in the world.
+ */
+ENTRY(bcopy, 3)
+
+#ifdef _KERNEL
+ mov ret0=r0 // return zero for copy{in,out}
+#endif
+ ;;
+ cmp.le p6,p0=in2,r0 // bail if len <= 0
+(p6) br.ret.spnt.few rp
+
+ sub r14=in1,in0 ;; // check for overlap
+ cmp.ltu p6,p0=r14,in2 // dst-src < len
+(p6) br.cond.spnt.few 5f
+
+ extr.u r14=in0,0,3 // src & 7
+ extr.u r15=in1,0,3 ;; // dst & 7
+ cmp.eq p6,p0=r14,r15 // different alignment?
+(p6) br.cond.spnt.few 2f // branch if same alignment
+
+1: ld1 r14=[in0],1 ;; // copy bytewise
+ st1 [in1]=r14,1
+ add in2=-1,in2 ;; // len--
+ cmp.ne p6,p0=r0,in2
+(p6) br.cond.dptk.few 1b // loop
+ br.ret.sptk.few rp // done
+
+2: cmp.eq p6,p0=r14,r0 // aligned?
+(p6) br.cond.sptk.few 4f
+
+3: ld1 r14=[in0],1 ;; // copy bytewise
+ st1 [in1]=r14,1
+ extr.u r15=in0,0,3 // src & 7
+ add in2=-1,in2 ;; // len--
+ cmp.eq p6,p0=r0,in2 // done?
+ cmp.eq p7,p0=r0,r15 ;; // aligned now?
+(p6) br.ret.spnt.few rp // return if done
+(p7) br.cond.spnt.few 4f // go to main copy
+ br.cond.sptk.few 3b // more bytes to copy
+
+ // At this point, in2 is non-zero
+
+4: mov r14=8 ;;
+ cmp.ltu p6,p0=in2,r14 ;; // len < 8?
+(p6) br.cond.spnt.few 1b // byte copy the end
+ ld8 r15=[in0],8 ;; // copy word
+ st8 [in1]=r15,8
+ add in2=-8,in2 ;; // len -= 8
+ cmp.ne p6,p0=r0,in2 // done?
+(p6) br.cond.spnt.few 4b // again
+
+ br.ret.sptk.few rp // return
+
+ // Don't bother optimising overlap case
+
+5: add in0=in0,in2
+ add in1=in1,in2 ;;
+ add in0=-1,in0
+ add in1=-1,in1 ;;
+
+6: ld1 r14=[in0],-1 ;;
+ st1 [in1]=r14,-1
+ add in2=-1,in2 ;;
+ cmp.ne p6,p0=r0,in2
+(p6) br.cond.spnt.few 6b
+
+ br.ret.sptk.few rp
+END(bcopy)
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ common/lib/libc/arch/ia64/string/bzero.S 2016-06-15 11:04:28.000000000 -0400
@@ -0,0 +1,81 @@
+/*-
+ * Copyright (c) 2000 Doug Rabson
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <machine/asm.h>
+/* __FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/bzero.S 125669 2004-02-10 20:45:28Z cperciva $"); */
+
+ENTRY(bzero, 2)
+
+ cmp.le p6,p0=in1,r0 // bail if len <= 0
+(p6) br.ret.spnt.few rp
+ ;;
+ mov r14=ar.lc // save ar.lc
+
+ cmp.ltu p6,p0=17,in1 // check for small
+(p6) br.dptk.few 3f
+
+1: add r15=-1,in1 ;;
+ mov ar.lc=r15 ;;
+2: st1 [in0]=r0,1 // zero one byte
+ br.cloop.sptk.few 2b // loop
+
+ ;;
+ mov ar.lc=r14 // done
+ br.ret.sptk.few rp
+
+ // Zero up to 8byte alignment
+
+3: tbit.nz p6,p0=in0,0 ;;
+(p6) st1 [in0]=r0,1
+(p6) add in1=-1,in1 ;;
+
+ tbit.nz p6,p0=in0,1 ;;
+(p6) st2 [in0]=r0,2
+(p6) add in1=-2,in1 ;;
+
+ tbit.nz p6,p0=in0,2 ;;
+(p6) st4 [in0]=r0,4
+(p6) add in1=-4,in1
+
+ ;;
+ shr.u r15=in1,3 // word count
+ extr.u in1=in1,0,3 ;; // trailing bytes
+ cmp.eq p6,p0=r15,r0 // check for zero
+ cmp.ne p7,p0=in1,r0
+(p6) br.dpnt.few 1b // zero last bytes
+
+ add r15=-1,r15 ;;
+ mov ar.lc=r15 ;;
+4: st8 [in0]=r0,8
+ br.cloop.sptk.few 4b
+
+(p7) br.dpnt.few 1b // zero last bytes
+
+ ;;
+ mov ar.lc=r14 // done
+ br.ret.sptk.few rp
+
+END(bzero)
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ common/lib/libc/arch/ia64/string/ffs.S 2016-06-15 11:04:38.000000000 -0400
@@ -0,0 +1,99 @@
+/* $NetBSD: ffs.S,v 1.3 1996/10/17 03:08:13 cgd Exp $ */
+
+/*
+ * Copyright (c) 1995 Christopher G. Demetriou
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Christopher G. Demetriou
+ * for the NetBSD Project.
+ * 4. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <machine/asm.h>
+/*__FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/ffs.S 111777 2003-03-03 01:09:46Z obrien $"); */
+
+ENTRY(ffs, 1)
+ sxt4 r14=in0 ;;
+ cmp.eq p6,p0=r14,r0
+(p6) br.dpnt.few Lallzero
+
+ /*
+ * Initialize return value (ret0), and set up r15 so that it
+ * contains the mask with only the lowest bit set.
+ */
+ sub r15=r0,r14
+ mov ret0=1 ;;
+ and r15=r14,r15 ;;
+
+ extr.u r16=r15,0,8 ;;
+ cmp.ne p6,p0=r0,r16
+(p6) br.dptk.few Ldo8
+
+ /*
+ * If lower 16 bits empty, add 16 to result and use upper 16.
+ */
+ extr.u r16=r15,0,16 ;;
+ cmp.ne p6,p0=r0,r16
+(p6) br.dptk.few Ldo16
+ extr.u r15=r15,16,16
+ add ret0=16,ret0 ;;
+
+Ldo16:
+ /*
+ * If lower 8 bits empty, add 8 to result and use upper 8.
+ */
+ extr.u r16=r15,0,8 ;;
+ cmp.ne p6,p0=r0,r16
+(p6) br.dptk.few Ldo8
+ extr.u r15=r15,8,24
+ add ret0=8,ret0 ;;
+
+Ldo8:
+ and r16=0x0f,r15 /* lower 4 of 8 empty? */
+ and r17=0x33,r15 /* lower 2 of each 4 empty? */
+ and r18=0x55,r15 ;; /* lower 1 of each 2 empty? */
+ cmp.ne p6,p0=r16,r0
+ cmp.ne p7,p0=r17,r0
+ cmp.ne p8,p0=r18,r0
+
+ /* If lower 4 bits empty, add 4 to result. */
+(p6) br.dptk.few Ldo4
+ add ret0=4,ret0 ;;
+
+Ldo4: /* If lower 2 bits of each 4 empty, add 2 to result. */
+(p7) br.dptk.few Ldo2
+ add ret0=2,ret0 ;;
+
+Ldo2: /* If lower bit of each 2 empty, add 1 to result. */
+(p8) br.dptk.few Ldone
+ add ret0=1,ret0
+
+Ldone:
+ br.ret.sptk.few rp
+
+Lallzero:
+ mov ret0=0
+ br.ret.sptk.few rp
+END(ffs)
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ common/lib/libc/arch/ia64/string/memcpy.S 2016-06-18 11:31:42.000000000 -0400
@@ -0,0 +1,55 @@
+/*-
+ * Copyright (c) 2000 Doug Rabson
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <machine/asm.h>
+/*__FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/memcpy.S 134739 2004-09-04 00:04:58Z marcel $"); */
+
+/*
+ * copied from freebsd.
+ * kernel bcopy sets ret0 = 0, for copyin/copyout
+ * r14 = scratch
+ * r8 = ret0
+ */
+#ifdef _KERNEL
+
+ENTRY(memcpy,3)
+ mov r14=in0 ;;
+ mov in0=in1 ;;
+ mov in1=r14
+ br.cond.sptk.few bcopy
+END(memcpy)
+
+#else
+
+ENTRY(memcpy,3)
+ mov r8 = in0
+ mov in0 = in1
+ ;;
+ mov in1 = r8
+ br.sptk.few bcopy
+END(memcpy)
+
+#endif
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ common/lib/libc/arch/ia64/string/memmove.S 2016-06-18 10:30:11.000000000 -0400
@@ -0,0 +1,51 @@
+/*-
+ * Copyright (c) 2000 Doug Rabson
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <machine/asm.h>
+/*__FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/memmove.S 134743 2004-09-04 00:23:15Z marcel $"); */
+
+/* do same as memcpy.S */
+
+#ifdef _KERNEL
+
+ENTRY(memmove,3)
+ mov r14=in0 ;;
+ mov in0=in1 ;;
+ mov in1=r14
+ br.cond.sptk.few bcopy
+END(memmove)
+
+#else
+
+ENTRY(memmove,3)
+ mov r8 = in0
+ mov in0 = in1
+ ;;
+ mov in1 = r8
+ br.sptk.few bcopy
+END(memmove)
+
+#endif
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ distrib/ia64/Makefile 2016-06-19 09:30:13.000000000 -0400
@@ -0,0 +1,18 @@
+# $NetBSD$
+
+.include <bsd.own.mk>
+.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
+
+.include <bsd.kernobj.mk>
+
+# XXX add other SUBDIR
+
+SUBDIR= cdroms
+#SUBDIR+= netboot ramdisk
+
+TARGETS+= release
+
+iso_image:
+ ${MAKEDIRTARGET} cdroms iso_image
+
+.include <bsd.subdir.mk>
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ distrib/ia64/cdroms/Makefile 2016-06-19 09:27:28.000000000 -0400
@@ -0,0 +1,6 @@
+# $NetBSD$
+
+SUBDIR= installcd
+TARGETS+= release iso_image
+
+.include <bsd.subdir.mk>
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ distrib/ia64/cdroms/installcd/Makefile 2016-06-19 09:28:13.000000000 -0400
@@ -0,0 +1,12 @@
+# $NetBSD$
+CDBASE= ia64cd # gives ${CDBASE}.iso
+#CDINSTKERNEL= ../../instkernel/instkernel
+CDKERNELS= netbsd netbsd
+CDRELEASE= true # include $RELEASEDIR/$MACHINE
+
+#make the CD bootable
+image_md_post:
+ ${TOOL_INSTALLBOOT} -m${MACHINE} ${CDIMAGE} bootxx.${MACHINE}
+
+.include "${.CURDIR}/../../../common/Makefile.bootcd"
+
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ distrib/sets/lists/base/md.ia64 2016-06-20 11:09:26.000000000 -0400
@@ -0,0 +1,7 @@
+# $NetBSD md.ia64 $
+#
+# XXX include skiload for now
+# XXX add loader.efi when PR 49717 & 50719 checked in
+#./loader.efi base-sysutil-bin
+./loader.sym base-sysutil-bin
+./skiload base-sysutil-bin
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ distrib/sets/lists/comp/md.ia64 2016-06-16 15:39:43.000000000 -0400
@@ -0,0 +1,60 @@
+# $NetBSDE: md.ia64 $
+./usr/include/gcc-4.8/ia64intrin.h comp-c-include
+./usr/include/gcc-4.8/tgmath.h comp-c-include
+./usr/include/ia64 comp-c-include
+./usr/include/ia64/_regset.h comp-c-include
+./usr/include/ia64/acpi_machdep.h comp-c-include
+./usr/include/ia64/ansi.h comp-c-include
+./usr/include/ia64/aout_machdep.h comp-c-include
+./usr/include/ia64/asm.h comp-c-include
+./usr/include/ia64/atomic.h comp-c-include
+./usr/include/ia64/bootinfo.h comp-c-include
+./usr/include/ia64/bswap.h comp-c-include
+./usr/include/ia64/cdefs.h comp-c-include
+./usr/include/ia64/cpu.h comp-c-include
+./usr/include/ia64/cpufunc.h comp-c-include
+./usr/include/ia64/dig64.h comp-c-include
+./usr/include/ia64/disklabel.h comp-c-include
+./usr/include/ia64/efi.h comp-c-include
+./usr/include/ia64/elf_machdep.h comp-c-include
+./usr/include/ia64/endian.h comp-c-include
+./usr/include/ia64/endian_machdep.h comp-c-include
+./usr/include/ia64/float.h comp-c-include
+./usr/include/ia64/fpu.h comp-c-include
+./usr/include/ia64/frame.h comp-c-include
+./usr/include/ia64/ia64_cpu.h comp-c-include
+./usr/include/ia64/ieee.h comp-c-include
+./usr/include/ia64/ieeefp.h comp-c-include
+./usr/include/ia64/int_const.h comp-c-include
+./usr/include/ia64/int_fmtio.h comp-c-include
+./usr/include/ia64/int_limits.h comp-c-include
+./usr/include/ia64/int_mwgwtypes.h comp-c-include
+./usr/include/ia64/int_types.h comp-c-include
+./usr/include/ia64/intr.h comp-c-include
+./usr/include/ia64/limits.h comp-c-include
+./usr/include/ia64/loadfile_machdep.h comp-c-include
+./usr/include/ia64/lock.h comp-c-include
+./usr/include/ia64/math.h comp-c-include
+./usr/include/ia64/mca_machdep.h comp-c-include
+./usr/include/ia64/mcontext.h comp-c-include
+./usr/include/ia64/md_var.h comp-c-include
+./usr/include/ia64/mutex.h comp-c-include
+./usr/include/ia64/pal.h comp-c-include
+./usr/include/ia64/param.h comp-c-include
+./usr/include/ia64/pcb.h comp-c-include
+./usr/include/ia64/pmap.h comp-c-include
+./usr/include/ia64/proc.h comp-c-include
+./usr/include/ia64/profile.h comp-c-include
+./usr/include/ia64/pte.h comp-c-include
+./usr/include/ia64/ptrace.h comp-c-include
+./usr/include/ia64/reg.h comp-c-include
+./usr/include/ia64/rwlock.h comp-c-include
+./usr/include/ia64/sal.h comp-c-include
+./usr/include/ia64/setjmp.h comp-c-include
+./usr/include/ia64/signal.h comp-c-include
+./usr/include/ia64/smp.h comp-c-include
+./usr/include/ia64/ssc.h comp-c-include
+./usr/include/ia64/types.h comp-c-include
+./usr/include/ia64/vmparam.h comp-c-include
+./usr/include/ia64/wchar_limits.h comp-c-include
+./usr/include/ieeefp.h comp-c-include
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ etc/etc.ia64/MAKEDEV.conf 2016-06-16 13:41:12.000000000 -0400
@@ -0,0 +1,48 @@
+# $NetBSD: MAKEDEV.conf,v 1.25 2012/09/23 01:15:17 chs Exp $
+
+# As of 2005-03-15, the "init" case must not create more than 1024 entries.
+all_md)
+ makedev std wscons wt0 fd0 fd1
+ makedev wd0 wd1 wd2 wd3 wd4 wd5 wd6 wd7
+ makedev sd0 sd1 sd2 sd3 sd4 sd5 sd6 sd7
+ makedev flash0 flash1 flash2 flash3 flash4 flash5 flash6 flash7
+ makedev tty0 tty1 tty2 tty3
+ makedev st0 st1 ch0 cd0 cd1 mcd0 vnd0
+ makedev bpf
+ makedev ccd0 md0 random
+ makedev cgd0 cgd1
+ makedev amr0 iop0 mfi0 mlx0 mly0 dpti0 dpt0 twe0 icp0
+ makedev ed0 ed1
+ makedev raid0 raid1 raid2 raid3
+ makedev ld0 ld1 ld2 ld3
+ makedev xbd0 xbd1 xbd2 xbd3 xen
+ makedev usbs
+ makedev ipty
+ makedev local
+ makedev lpa0 lpa1 lpa2
+ makedev lpt0 lpt1 lpt2
+ makedev ss0 uk0 uk1
+ makedev speaker joy0 joy1
+ makedev apm satlink0
+ makedev cmos
+ makedev audio
+ makedev radio
+ makedev isdns
+ makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
+ makedev scsibus0 scsibus1 scsibus2 scsibus3
+ makedev ses0 ses1 ses2 ses3
+ makedev sysmon
+ makedev bktr
+ makedev ttyCZ0 ttyCY0
+ makedev agp0
+ makedev pci0 pci1 pci2 pci3 pci4 pci5 pci6 pci7
+ makedev pci8 pci9 pci10 pci11
+ makedev altq
+ makedev cir0 cir1 irframe0 irframe1
+ makedev dmoverio
+ makedev kttcp
+ makedev nsmb
+ makedev io
+ makedev bio
+ makedev cfs
+ ;;
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ etc/etc.ia64/Makefile.inc 2016-06-16 13:51:49.000000000 -0400
@@ -0,0 +1,27 @@
+# $NetBSD$
+#
+# etc.ia64/Makefile.inc -- ia64-specific etc Makefile targets
+#
+
+# If you change the list of distributed kernels, don't forget
+# to update the release documentation in distrib/notes/common/contents
+
+# XXX fix all this
+
+KERNEL_SETS= GENERIC
+KERNEL_SETS+= GENERIC.SKI
+
+#BUILD_KERNELS+= INSTALL
+
+#INSTALLATION_DIRS+= installation/cdrom
+#INSTALLATION_DIRS+= installation/diskimage
+#INSTALLATION_DIRS+= installation/instkernel
+#INSTALLATION_DIRS+= installation/netboot
+
+#snap_md_post:
+# cd ${KERNSRCDIR}/arch/i386/stand/dosboot && ${MAKE} release
+# cd ${KERNSRCDIR}/arch/i386/stand/pxeboot && ${MAKE} release
+# cd ${KERNSRCDIR}/arch/i386/stand/misc && ${MAKE} release
+# ${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom '*.iso'
+# ${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/floppy '*.fs'
+# cd ${KERNSRCDIR}/arch/alpha/stand/netboot && ${MAKE} release
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ etc/etc.ia64/rc.conf.append 2011-12-04 08:09:07.000000000 -0500
@@ -0,0 +1,15 @@
+# $NetBSD: rc.conf.append,v 1.2 2011/12/04 13:09:07 jmcneill Exp $
+#
+# Arch-specific rc.conf(5) configuration.
+
+# powerd(8) is required under Xen to manage save/restore events.
+#
+if /sbin/sysctl -q machdep.xen; then
+ powerd=YES
+fi
+
+# powerd(8) is recommended if ACPI is enabled to handle PM events.
+#
+if /sbin/sysctl -q hw.acpi.root; then
+ powerd=YES
+fi
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ etc/etc.ia64/ttys 2016-06-16 15:49:58.000000000 -0400
@@ -0,0 +1,23 @@
+#
+# $NetBSD: ttys,v 1.12 2012/06/13 20:49:12 martin Exp $
+#
+# name getty type status comments
+
+# In normal operation, getty on 'console' pseudo-device is disabled, and is
+# enabled for the correct 'real' device (e.g. one of the serial ports).
+
+# console pseudo-device
+console "/usr/libexec/getty std.9600" vt100 on secure
+constty "/usr/libexec/getty std.9600" vt100 off secure
+
+# Workstation console (framebuffer) ttys
+ttyE0 "/usr/libexec/getty std.9600" wsvt25 off secure
+ttyE1 "/usr/libexec/getty std.9600" wsvt25 off secure
+
+# DEC 3000 Z8530 ("scc") serial ports
+ttyB0 "/usr/libexec/getty std.9600" unknown off secure
+ttyB1 "/usr/libexec/getty std.9600" unknown off secure
+
+# AlphaStation NS16550 ("com") serial ports
+ttyC0 "/usr/libexec/getty std.9600" unknown off secure
+ttyC1 "/usr/libexec/getty std.9600" unknown off secure
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ lib/libc/arch/ia64/gen/fpgetsticky.c 2016-06-16 10:01:25.000000000 -0400
@@ -0,0 +1,13 @@
+#include <sys/cdefs.h>
+
+#include <sys/types.h>
+#include <ieeefp.h>
+
+fp_except_t
+fpgetsticky(void)
+{
+ /* XXX implement, pause in ski */
+ __asm __volatile("break.i 0");
+
+ return (fp_except_t)0;
+}
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ lib/libc/arch/ia64/gen/fpsetsticky.c 2016-06-16 10:00:35.000000000 -0400
@@ -0,0 +1,13 @@
+#include <sys/cdefs.h>
+
+#include <sys/types.h>
+#include <ieeefp.h>
+
+fp_except_t
+fpsetsticky(fp_except_t sticky)
+{
+ /* XXX implement, pause in ski */
+ __asm __volatile("break.i 0");
+
+ return (fp_except_t)0;
+}
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ lib/libc/arch/ia64/gen/getcontext.S 2016-06-14 13:31:07.000000000 -0400
@@ -0,0 +1,12 @@
+#include "SYS.h"
+
+#ifdef WEAK_ALIAS
+WEAK_ALIAS(getcontext, _getcontext)
+#endif
+
+ENTRY(_getcontext,0)
+
+ /* XXX implement, halt in ski */
+ break.i 0
+
+END(_getcontext)
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ lib/libc/arch/ia64/gen/makecontext.c 2016-06-14 13:26:41.000000000 -0400
@@ -0,0 +1,17 @@
+#include <inttypes.h>
+#include <stddef.h>
+#include <ucontext.h>
+#include "extern.h"
+
+#if __STDC__
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+void
+makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
+{
+ /* XXX implement, halt in ski */
+ __asm __volatile("break.i 0");
+}
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ lib/libc/arch/ia64/gen/swapcontext.S 2016-06-14 13:31:38.000000000 -0400
@@ -0,0 +1,9 @@
+#include "SYS.h"
+
+ENTRY(swapcontext,0)
+
+ /* XXX implement, halt in ski */
+ break.i 0
+
+END(swapcontext)
+
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ sys/arch/ia64/ia64/core_machdep.c 2016-06-16 10:20:02.000000000 -0400
@@ -0,0 +1,32 @@
+#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
+/*
+__KERNEL_RCSID(0, "$NetBSD: core_machdep.c,v 1.1 2016/06/16 12:00:00 dsl Exp $");
+*/
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/proc.h>
+#include <sys/malloc.h>
+#include <sys/buf.h>
+#include <sys/vnode.h>
+#include <sys/core.h>
+#include <sys/exec.h>
+
+#include <sys/exec_aout.h>
+
+#include <machine/cpu.h>
+#include <machine/ia64_cpu.h>
+#include <machine/pmap.h>
+#include <machine/reg.h>
+
+/*
+ * Dump the machine specific header information at the start of a core dump.
+ */
+int
+cpu_coredump(struct lwp *l, struct coredump_iostate *iocookie,
+ struct core *chdr)
+{
+ /* XXX implement, pause in ski */
+ __asm __volatile("break.i 0");
+
+ return -1;
+}
--- /dev/null 2016-06-21 12:51:38.000000000 -0400
+++ sys/arch/ia64/ia64/procfs_machdep.c 2016-06-20 10:23:54.000000000 -0400
@@ -0,0 +1,22 @@
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/mount.h>
+#include <sys/vnode.h>
+#include <miscfs/procfs/procfs.h>
+
+
+/*
+ * Linux-style /proc/cpuinfo.
+ * Only used when procfs is mounted with -o linux.
+ */
+int
+procfs_getcpuinfstr(char *buf, size_t *len)
+{
+ *len = 0;
+
+ return 0;
+}
Index: distrib/sets/lists/base/shl.mi
===================================================================
RCS file: /cvsroot/src/distrib/sets/lists/base/shl.mi,v
retrieving revision 1.776
diff -b -u -r1.776 shl.mi
--- distrib/sets/lists/base/shl.mi 5 Jun 2016 01:31:03 -0000 1.776
+++ distrib/sets/lists/base/shl.mi 21 Jun 2016 16:57:53 -0000
@@ -88,15 +88,15 @@
./lib/libz.so base-sys-shlib dynamicroot
./lib/libz.so.1 base-sys-shlib dynamicroot
./lib/libz.so.1.0 base-sys-shlib dynamicroot
-./lib/npf/ext_log.so base-npf-shlib dynamicroot,compatfile,npf
-./lib/npf/ext_log.so.0 base-npf-shlib dynamicroot,compatfile,npf
-./lib/npf/ext_log.so.0.0 base-npf-shlib dynamicroot,compatfile,npf
-./lib/npf/ext_normalize.so base-npf-shlib dynamicroot,compatfile,npf
-./lib/npf/ext_normalize.so.0 base-npf-shlib dynamicroot,compatfile,npf
-./lib/npf/ext_normalize.so.0.0 base-npf-shlib dynamicroot,compatfile,npf
-./lib/npf/ext_rndblock.so base-npf-shlib dynamicroot,compatfile,npf
-./lib/npf/ext_rndblock.so.0 base-npf-shlib dynamicroot,compatfile,npf
-./lib/npf/ext_rndblock.so.0.0 base-npf-shlib dynamicroot,compatfile,npf
+./lib/npf/ext_log.so base-npf-shlib compatfile,npf
+./lib/npf/ext_log.so.0 base-npf-shlib compatfile,npf
+./lib/npf/ext_log.so.0.0 base-npf-shlib compatfile,npf
+./lib/npf/ext_normalize.so base-npf-shlib compatfile,npf
+./lib/npf/ext_normalize.so.0 base-npf-shlib compatfile,npf
+./lib/npf/ext_normalize.so.0.0 base-npf-shlib compatfile,npf
+./lib/npf/ext_rndblock.so base-npf-shlib compatfile,npf
+./lib/npf/ext_rndblock.so.0 base-npf-shlib compatfile,npf
+./lib/npf/ext_rndblock.so.0.0 base-npf-shlib compatfile,npf
./libexec/ld.elf_so base-sys-shlib dynamicroot
./usr/lib/i18n/libBIG5.so base-i18n-shlib compatfile
./usr/lib/i18n/libBIG5.so.5 base-i18n-shlib compatfile
@@ -870,4 +870,4 @@
./usr/lib/security/pam_skey.so.4 base-sys-shlib compatfile,skey,pam
./usr/lib/security/pam_ssh.so.4 base-sys-shlib compatfile,crypto,pam
./usr/lib/security/pam_unix.so.4 base-sys-shlib compatfile,pam
-./usr/libexec/ld.elf_so base-sys-shlib
+./usr/libexec/ld.elf_so base-sys-shlib dynamicroot
Index: distrib/sets/lists/modules/md.ia64
===================================================================
RCS file: /cvsroot/src/distrib/sets/lists/modules/md.ia64,v
retrieving revision 1.3
diff -b -u -r1.3 md.ia64
--- distrib/sets/lists/modules/md.ia64 10 Aug 2014 11:51:40 -0000 1.3
+++ distrib/sets/lists/modules/md.ia64 21 Jun 2016 16:57:55 -0000
@@ -1,3 +1,5 @@
-# $NetBSD: md.ia64,v 1.3 2014/08/10 11:51:40 bad Exp $
+# $NetBSD: md.ia64 $
+./@MODULEDIR@/exec_elf64 base-kernel-modules kmod
+./@MODULEDIR@/exec_elf64/exec_elf64.kmod base-kernel-modules kmod
./@MODULEDIR@/acpiverbose base-kernel-modules kmod
./@MODULEDIR@/acpiverbose/acpiverbose.kmod base-kernel-modules kmod
Index: external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c,v
retrieving revision 1.3
diff -b -u -r1.3 tree-ssa-ccp.c
--- external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c 23 Sep 2015 03:39:11 -0000 1.3
+++ external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c 21 Jun 2016 16:57:57 -0000
@@ -2541,6 +2541,7 @@
#if defined(__alpha__) || defined(__amd64__) || defined(__sparc64__) \
|| (defined(__arm__) && defined(__ARM_EABI)) || defined(__powerpc__) \
+ || defined(__ia64__) \
|| ((defined(__mips__) || defined(__riscv__)) && defined(_LP64))
#define JEMALLOC_TINY_MIN_2POW 3
#endif
Index: lib/libc/arch/ia64/gen/Makefile.inc
===================================================================
RCS file: /cvsroot/src/lib/libc/arch/ia64/gen/Makefile.inc,v
retrieving revision 1.6
diff -b -u -r1.6 Makefile.inc
--- lib/libc/arch/ia64/gen/Makefile.inc 17 Apr 2015 12:51:05 -0000 1.6
+++ lib/libc/arch/ia64/gen/Makefile.inc 21 Jun 2016 16:57:59 -0000
@@ -1,10 +1,22 @@
# $NetBSD: Makefile.inc,v 1.6 2015/04/17 12:51:05 martin Exp $
+# XXX figure out what is really needed
+
SRCS+= _lwp.c
SRCS+= bswap16.c bswap32.c bswap64.c
SRCS+= setjmp.S _setjmp.S sigsetjmp.S
SRCS+= flt_rounds.c fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c
+SRCS+= fpgetsticky.c fpsetsticky.c
+
+# Common ieee754 constants and functions
+SRCS+= infinityf_ieee754.c infinity_ieee754.c infinityl_dbl_ieee754.c
+SRCS+= fpclassifyf_ieee754.c fpclassifyd_ieee754.c
SRCS+= isinff_ieee754.c isinfd_ieee754.c
SRCS+= isnanf_ieee754.c isnand_ieee754.c
-SRCS+= fpclassifyf_ieee754.c fpclassifyd_ieee754.c
+SRCS+= isfinitef_ieee754.c isfinited_ieee754.c
+SRCS+= signbitf_ieee754.c signbitd_ieee754.c
+
+SRCS+= makecontext.c getcontext.S swapcontext.S
+#SRCS+= nanf.c infinityl.c
+#SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c signbitl.c
Index: lib/libc/arch/ia64/sys/__clone.S
===================================================================
RCS file: /cvsroot/src/lib/libc/arch/ia64/sys/__clone.S,v
retrieving revision 1.1
diff -b -u -r1.1 __clone.S
--- lib/libc/arch/ia64/sys/__clone.S 10 Sep 2006 21:22:34 -0000 1.1
+++ lib/libc/arch/ia64/sys/__clone.S 21 Jun 2016 16:58:00 -0000
@@ -1,3 +1,16 @@
/* $NetBSD: __clone.S,v 1.1 2006/09/10 21:22:34 cherry Exp $ */
/* XXX: Stub */
\ No newline at end of file
+#include <sys/errno.h>
+
+#include "SYS.h"
+
+#ifdef WEAK_ALIAS
+WEAK_ALIAS(clone, __clone)
+#endif
+
+ENTRY(__clone,4)
+ /* XXX implement, break in ski*/
+ break.i 0
+
+END(__clone)
Index: lib/libc/arch/ia64/sys/ptrace.S
===================================================================
RCS file: /cvsroot/src/lib/libc/arch/ia64/sys/ptrace.S,v
retrieving revision 1.1
diff -b -u -r1.1 ptrace.S
--- lib/libc/arch/ia64/sys/ptrace.S 10 Sep 2006 21:22:34 -0000 1.1
+++ lib/libc/arch/ia64/sys/ptrace.S 21 Jun 2016 16:58:02 -0000
@@ -1,3 +1,10 @@
/* $NetBSD: ptrace.S,v 1.1 2006/09/10 21:22:34 cherry Exp $ */
/* XXX: Stub */
\ No newline at end of file
+#include "SYS.h"
+
+ENTRY(ptrace,0)
+ /* XXX implement, halt in ski */
+ break.i 0
+
+END(ptrace)
Index: lib/libc/arch/ia64/sys/sbrk.S
===================================================================
RCS file: /cvsroot/src/lib/libc/arch/ia64/sys/sbrk.S,v
retrieving revision 1.2
diff -b -u -r1.2 sbrk.S
--- lib/libc/arch/ia64/sys/sbrk.S 23 Sep 2006 17:39:34 -0000 1.2
+++ lib/libc/arch/ia64/sys/sbrk.S 21 Jun 2016 16:58:04 -0000
@@ -34,6 +34,8 @@
.globl _end
+WEAK_ALIAS(sbrk, _sbrk)
+
.data
EXPORT(__curbrk)
.quad _end
Index: lib/libc/arch/ia64/sys/shmat.S
===================================================================
RCS file: /cvsroot/src/lib/libc/arch/ia64/sys/shmat.S,v
retrieving revision 1.1
diff -b -u -r1.1 shmat.S
--- lib/libc/arch/ia64/sys/shmat.S 10 Sep 2006 21:22:34 -0000 1.1
+++ lib/libc/arch/ia64/sys/shmat.S 21 Jun 2016 16:58:07 -0000
@@ -1,3 +1,5 @@
/* $NetBSD: shmat.S,v 1.1 2006/09/10 21:22:34 cherry Exp $ */
-/* XXX: Stub */
\ No newline at end of file
+#include "SYS.h"
+
+RSYSCALL(shmat)
Index: lib/libkvm/kvm_ia64.c
===================================================================
RCS file: /cvsroot/src/lib/libkvm/kvm_ia64.c,v
retrieving revision 1.1
diff -b -u -r1.1 kvm_ia64.c
--- lib/libkvm/kvm_ia64.c 17 Apr 2015 13:16:01 -0000 1.1
+++ lib/libkvm/kvm_ia64.c 21 Jun 2016 16:58:09 -0000
@@ -0,0 +1,59 @@
+/* XXX implement these, freebsd versions in /usr/src/lib/libkvm/kvm_ia64.c */
+#include <sys/param.h>
+#include <sys/exec.h>
+#include <sys/types.h>
+#include <sys/systm.h>
+
+#include <db.h>
+#include <limits.h>
+#include <kvm.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "kvm_private.h"
+
+void
+_kvm_freevtop(kvm_t *kd)
+{
+ printf("_kvm_freevtop not implemented\n");
+ abort();
+ if (kd->vmst != 0)
+ free(kd->vmst);
+}
+
+int
+_kvm_initvtop(kvm_t *kd)
+{
+ printf("_kvm_initvtop not implemented\n");
+ abort();
+ return 0;
+}
+
+off_t
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
+{
+ printf("_kvm_pa2off not implemented\n");
+ abort();
+}
+
+/*
+ * Translate a KVA to a PA
+ */
+int
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
+{
+ printf("_kvm_kvatop not implemented\n");
+ abort();
+}
+
+/*
+ * Machine-dependent initialization for ALL open kvm descriptors,
+ * not just those for a kernel crash dump. Some architectures
+ * have to deal with these NOT being constants! (i.e. m68k)
+ */
+int
+_kvm_mdopen(kvm_t *kd)
+{
+ printf("_kvm_mdopen not implemented\n");
+ abort();
+}
Index: share/mk/bsd.own.mk
===================================================================
RCS file: /cvsroot/src/share/mk/bsd.own.mk,v
retrieving revision 1.936
diff -b -u -r1.936 bsd.own.mk
--- share/mk/bsd.own.mk 14 Jun 2016 13:26:45 -0000 1.936
+++ share/mk/bsd.own.mk 21 Jun 2016 16:58:12 -0000
@@ -627,7 +627,7 @@
# for crunchide & ldd, define the OBJECT_FMTS used by a MACHINE_ARCH
#
OBJECT_FMTS=
-.if ${MACHINE_ARCH} != "alpha"
+.if ${MACHINE_ARCH} != "alpha" && ${MACHINE_ARCH} != "ia64"
OBJECT_FMTS+= elf32
.endif
.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH:M*64*} != ""
@@ -694,6 +694,11 @@
#
MKDYNAMICROOT?= yes
+# For ia64, ld.elf_so not yet implemented
+.if ${MACHINE_ARCH} == "ia64"
+MKDYNAMICROOT= no
+.endif
+
#
# Where the system object and source trees are kept; can be configurable
# by the user in case they want them in ~/foosrc and ~/fooobj (for example).
@@ -1117,6 +1122,11 @@
MKKMOD= no
.endif
+# Rump doesn't work yet on ia64
+.if ${MACHINE} == "ia64"
+MKRUMP= no
+.endif
+
#
# MK* options which default to "no". Note that MKZFS has a different
# default for some platforms, see above.
Index: sys/arch/ia64/conf/files.ia64
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/conf/files.ia64,v
retrieving revision 1.7
diff -b -u -r1.7 files.ia64
--- sys/arch/ia64/conf/files.ia64 1 Oct 2011 15:59:27 -0000 1.7
+++ sys/arch/ia64/conf/files.ia64 21 Jun 2016 16:58:14 -0000
@@ -55,7 +55,7 @@
#
# System bus types
#
-device mainbus: cpubus, acpibus
+device mainbus: cpubus, acpibus, pcibus
attach mainbus at root
file arch/ia64/ia64/mainbus.c mainbus
Index: sys/arch/ia64/ia64/support.S
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/ia64/support.S,v
retrieving revision 1.6
diff -b -u -r1.6 support.S
--- sys/arch/ia64/ia64/support.S 8 Aug 2010 18:18:58 -0000 1.6
+++ sys/arch/ia64/ia64/support.S 21 Jun 2016 16:58:16 -0000
@@ -773,80 +773,6 @@
END(copyoutstr)
/*
- * Not the fastest bcopy in the world.
- */
-ENTRY(bcopy, 3)
- mov ret0=r0 // return zero for copy{in,out}
- ;;
- cmp.le p6,p0=in2,r0 // bail if len <= 0
-(p6) br.ret.spnt.few rp
-
- sub r14=in1,in0 ;; // check for overlap
- cmp.ltu p6,p0=r14,in2 // dst-src < len
-(p6) br.cond.spnt.few 5f
-
- extr.u r14=in0,0,3 // src & 7
- extr.u r15=in1,0,3 ;; // dst & 7
- cmp.eq p6,p0=r14,r15 // different alignment?
-(p6) br.cond.spnt.few 2f // branch if same alignment
-
-1: ld1 r14=[in0],1 ;; // copy bytewise
- st1 [in1]=r14,1
- add in2=-1,in2 ;; // len--
- cmp.ne p6,p0=r0,in2
-(p6) br.cond.dptk.few 1b // loop
- br.ret.sptk.few rp // done
-
-2: cmp.eq p6,p0=r14,r0 // aligned?
-(p6) br.cond.sptk.few 4f
-
-3: ld1 r14=[in0],1 ;; // copy bytewise
- st1 [in1]=r14,1
- extr.u r15=in0,0,3 // src & 7
- add in2=-1,in2 ;; // len--
- cmp.eq p6,p0=r0,in2 // done?
- cmp.eq p7,p0=r0,r15 ;; // aligned now?
-(p6) br.ret.spnt.few rp // return if done
-(p7) br.cond.spnt.few 4f // go to main copy
- br.cond.sptk.few 3b // more bytes to copy
-
- // At this point, in2 is non-zero
-
-4: mov r14=8 ;;
- cmp.ltu p6,p0=in2,r14 ;; // len < 8?
-(p6) br.cond.spnt.few 1b // byte copy the end
- ld8 r15=[in0],8 ;; // copy word
- st8 [in1]=r15,8
- add in2=-8,in2 ;; // len -= 8
- cmp.ne p6,p0=r0,in2 // done?
-(p6) br.cond.spnt.few 4b // again
-
- br.ret.sptk.few rp // return
-
- // Don't bother optimising overlap case
-
-5: add in0=in0,in2
- add in1=in1,in2 ;;
- add in0=-1,in0
- add in1=-1,in1 ;;
-
-6: ld1 r14=[in0],-1 ;;
- st1 [in1]=r14,-1
- add in2=-1,in2 ;;
- cmp.ne p6,p0=r0,in2
-(p6) br.cond.spnt.few 6b
-
- br.ret.sptk.few rp
-END(bcopy)
-
-ENTRY(memcpy,3)
- mov r14=in0 ;;
- mov in0=in1 ;;
- mov in1=r14
- br.cond.sptk.few bcopy
-END(memcpy)
-
-/*
* int kcopy(const void *from, void *to, size_t len);
* Copy len bytes, abort on fault.
*/
Index: sys/arch/ia64/ia64/vm_machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/ia64/vm_machdep.c,v
retrieving revision 1.11
diff -b -u -r1.11 vm_machdep.c
--- sys/arch/ia64/ia64/vm_machdep.c 10 Feb 2011 14:46:46 -0000 1.11
+++ sys/arch/ia64/ia64/vm_machdep.c 21 Jun 2016 16:58:19 -0000
@@ -84,7 +84,7 @@
void (*func)(void *), void *arg)
{
struct pcb *pcb1, *pcb2;
- struct trapframe *tf;
+ struct trapframe * volatile tf;
pcb1 = lwp_getpcb(l1);
pcb2 = lwp_getpcb(l2);
Index: sys/arch/ia64/include/Makefile
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/include/Makefile,v
retrieving revision 1.6
diff -b -u -r1.6 Makefile
--- sys/arch/ia64/include/Makefile 20 Jun 2014 12:41:34 -0000 1.6
+++ sys/arch/ia64/include/Makefile 21 Jun 2016 16:58:21 -0000
@@ -2,7 +2,7 @@
INCSDIR= /usr/include/ia64
-INCS= _regset.h acpi_func.h acpi_machdep.h ansi.h \
+INCS= _regset.h acpi_machdep.h ansi.h \
aout_machdep.h asm.h atomic.h bootinfo.h bswap.h cdefs.h \
cpu.h cpufunc.h dig64.h disklabel.h efi.h \
elf_machdep.h endian.h endian_machdep.h float.h fpu.h frame.h \
Index: sys/arch/ia64/include/mcontext.h
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/include/mcontext.h,v
retrieving revision 1.3
diff -b -u -r1.3 mcontext.h
--- sys/arch/ia64/include/mcontext.h 26 Dec 2012 19:43:10 -0000 1.3
+++ sys/arch/ia64/include/mcontext.h 21 Jun 2016 16:58:23 -0000
@@ -1,32 +1,31 @@
-/* $NetBSD: mcontext.h,v 1.3 2012/12/26 19:43:10 martin Exp $ */
-
/*-
- * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * Copyright (c) 1999, 2003 Marcel Moolenaar
* All rights reserved.
*
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer
+ * in this position and unchanged.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
+ * $FreeBSD: releng/10.1/sys/ia64/include/ucontext.h 177091 2008-03-12 10:12:01Z jeff $
*/
#ifndef _IA64_MCONTEXT_H_
@@ -34,6 +33,19 @@
#include <machine/_regset.h>
+/* XXX fix this, just get to compile for now */
+#define _NGREG 128
+
+#ifndef __ASSEMBLER__
+typedef unsigned long __greg_t;
+typedef __greg_t __gregset_t[_NGREG];
+
+typedef struct {
+ union _ia64_fpreg __fpregs[_NGREG];
+} __fpregset_t;
+
+#endif /* __ASSEMBLER__ */
+
/*
* The mc_flags field provides the necessary clues when dealing with the gory
* details of ia64 specific contexts. A comprehensive explanation is added for
@@ -80,7 +92,6 @@
unsigned long mc_flags;
#define _MC_FLAGS_ASYNC_CONTEXT 0x0001
#define _MC_FLAGS_HIGHFP_VALID 0x0002
-#define _MC_FLAGS_KSE_SET_MBOX 0x0004 /* Undocumented. Has to go. */
#define _MC_FLAGS_SYSCALL_CONTEXT 0x0008
unsigned long _reserved_;
struct _special mc_special;
@@ -89,16 +100,29 @@
struct _caller_saved mc_scratch;
struct _caller_saved_fp mc_scratch_fp;
struct _high_fp mc_high_fp;
+
+ /* XXX fix */
+ __gregset_t __gregs;
+ __fpregset_t __fpregs;
} mcontext_t;
#ifndef _UC_MACHINE_SP
#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.mc_special.sp)
#endif
+/* XXX this may be wrong but use just so can build distribution */
+#ifndef _UC_MACHINE_PC
+#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.iip)
+#endif
+
static __inline void *
__lwp_getprivate_fast(void)
{
return (void*)0;
}
-#endif /* !_IA64_MCONTEXT_H_ */
+/* XXX hmmm
+ #define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext._mc_special.isr)
+ */
+
+#endif /* !_IA64_UCONTEXT_H_ */
Index: sys/arch/ia64/include/pci_machdep.h
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/include/pci_machdep.h,v
retrieving revision 1.2
diff -b -u -r1.2 pci_machdep.h
--- sys/arch/ia64/include/pci_machdep.h 28 Jun 2010 12:14:08 -0000 1.2
+++ sys/arch/ia64/include/pci_machdep.h 21 Jun 2016 16:58:27 -0000
@@ -42,4 +42,13 @@
pcireg_t pci_conf_read(pci_chipset_tag_t, pcitag_t, int);
void pci_conf_write(pci_chipset_tag_t, pcitag_t, int, pcireg_t);
+/*
+ * XXX should ia64_pci_enumerate_bus and
+ * #define PCI_MACHDEP_ENUMERATE_BUS ia64_pci_enumerate_bus
+ * be used? acpi_pci appears to require pci_enumerate_bus though.
+ */
+int pci_enumerate_bus(struct pci_softc *, const int *,
+ int (*)(const struct pci_attach_args *),
+ struct pci_attach_args *);
+
#endif
Index: sys/arch/ia64/pci/pci_machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/pci/pci_machdep.c,v
retrieving revision 1.4
diff -b -u -r1.4 pci_machdep.c
--- sys/arch/ia64/pci/pci_machdep.c 2 Oct 2015 05:22:51 -0000 1.4
+++ sys/arch/ia64/pci/pci_machdep.c 21 Jun 2016 16:58:29 -0000
@@ -102,3 +102,13 @@
if (res.sal_status < 0)
printf("pci configuration write failed\n");
}
+
+int
+pci_enumerate_bus(struct pci_softc *sc, const int *locators,
+ int (*match)(const struct pci_attach_args *), struct pci_attach_args *pap)
+{
+ /* XXX implement */
+ panic("ia64 pci_enumerate_bus not implemented");
+
+ return -1;
+}
Index: sys/arch/ia64/stand/Makefile
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/stand/Makefile,v
retrieving revision 1.1
diff -b -u -r1.1 Makefile
--- sys/arch/ia64/stand/Makefile 7 Apr 2006 14:21:29 -0000 1.1
+++ sys/arch/ia64/stand/Makefile 21 Jun 2016 16:58:32 -0000
@@ -3,5 +3,3 @@
SUBDIR= ia64
.include <bsd.subdir.mk>
-
-
Index: sys/arch/ia64/stand/ia64/efi/Makefile
===================================================================
RCS file: /cvsroot/src/sys/arch/ia64/stand/ia64/efi/Makefile,v
retrieving revision 1.3
diff -b -u -r1.3 Makefile
--- sys/arch/ia64/stand/ia64/efi/Makefile 22 Jan 2011 19:19:19 -0000 1.3
+++ sys/arch/ia64/stand/ia64/efi/Makefile 21 Jun 2016 16:58:34 -0000
@@ -8,9 +8,6 @@
MAN=# Tell bsd.prog.mk that loader.sym is not a man page.
-INTERNALPROG=
-
-
SRCS= start.S conf.c efimd.c vers.c main.c
CPPFLAGS+= -I${IA64_STAND_DIR}/efi/include
@@ -25,18 +22,16 @@
CPPFLAGS+= -DLIBKERN_OPTIMISE_SPACE \
-DHEAP_VARIABLE
-
-# Pick up FreeBSD glue
-#CPPFLAGS+= -I${.CURDIR}/../../
-
# Always add MI sources
.PATH: ${.CURDIR}/../../common
.include "${.CURDIR}/../../common/Makefile.inc"
-
+# XXX hack to get loader.efi installed as part of distribution.
+# would like to use something like
+# PROGS= loader.sym loader.efi
+# but that causes much angst to get both to build properly
FILES= loader.efi
-
LDSCRIPT= ${.CURDIR}/ldscript.${MACHINE_ARCH}
LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic -nostdlib
@@ -72,3 +67,4 @@
LDADD= ${LIBEFI} ${LIBLIST} ${LIBEFI} ${LIBLIST}
.include <bsd.prog.mk>
+.include <bsd.files.mk>
Index: sys/lib/libkern/arch/ia64/Makefile.inc
===================================================================
RCS file: /cvsroot/src/sys/lib/libkern/arch/ia64/Makefile.inc,v
retrieving revision 1.4
diff -b -u -r1.4 Makefile.inc
--- sys/lib/libkern/arch/ia64/Makefile.inc 14 Aug 2009 19:23:54 -0000 1.4
+++ sys/lib/libkern/arch/ia64/Makefile.inc 21 Jun 2016 16:58:35 -0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile.inc,v 1.4 2009/08/14 19:23:54 dsl Exp $
+# $NetBSD$
#
SRCS+= ffs.c
SRCS+= divdi3.S divsi3.S modsi3.S moddi3.S udivdi3.S udivsi3.S
SRCS+= umoddi3.S umodsi3.S bswap64.S bswap32.S bswap16.S ntohl.S htonl.S
-SRCS+= memcpy.S
+SRCS+= bcopy.S bzero.S ffs.S memcpy.S memmove.S
Index: sys/modules/Makefile
===================================================================
RCS file: /cvsroot/src/sys/modules/Makefile,v
retrieving revision 1.167
diff -b -u -r1.167 Makefile
--- sys/modules/Makefile 9 Jun 2016 04:44:18 -0000 1.167
+++ sys/modules/Makefile 21 Jun 2016 16:58:37 -0000
@@ -132,12 +132,15 @@
SUBDIR+= exec_aout
.endif
-.if ${MACHINE_ARCH} != "alpha" && ${MACHINE_CPU} != "aarch64"
+.if ${MACHINE_ARCH} != "alpha" && \
+ ${MACHINE_CPU} != "aarch64" && \
+ ${MACHINE_ARCH} != "ia64"
SUBDIR+= exec_elf32
.endif
.if ${MACHINE_CPU} == "aarch64" || \
${MACHINE_ARCH} == "alpha" || \
+ ${MACHINE_ARCH} == "ia64" || \
${MACHINE_ARCH} == "sparc64" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= exec_elf64
Index: tests/lib/libc/arch/ia64/return_one.S
===================================================================
RCS file: /cvsroot/src/tests/lib/libc/arch/ia64/return_one.S,v
retrieving revision 1.1
diff -b -u -r1.1 return_one.S
--- tests/lib/libc/arch/ia64/return_one.S 18 Jul 2011 23:16:09 -0000 1.1
+++ tests/lib/libc/arch/ia64/return_one.S 21 Jun 2016 16:58:39 -0000
@@ -5,4 +5,4 @@
.globl return_one, return_one_end;
return_one: return_one_end:
- nop
+ nop 0
Index: tests/lib/libc/sys/t_getrusage.c
===================================================================
RCS file: /cvsroot/src/tests/lib/libc/sys/t_getrusage.c,v
retrieving revision 1.3
diff -b -u -r1.3 t_getrusage.c
--- tests/lib/libc/sys/t_getrusage.c 3 Sep 2014 19:24:12 -0000 1.3
+++ tests/lib/libc/sys/t_getrusage.c 21 Jun 2016 16:58:41 -0000
@@ -60,6 +60,8 @@
while (n > 0) {
#ifdef __or1k__
asm volatile("l.nop"); /* Do something. */
+#elif defined(__ia64__)
+ asm volatile("nop 0"); /* Do something. */
#else
asm volatile("nop"); /* Do something. */
#endif
Home |
Main Index |
Thread Index |
Old Index