CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: skrll Date: Fri Oct 6 11:45:37 UTC 2023 Modified Files: src/sys/arch/ia64/include: asm.h bootinfo.h cpu.h db_machdep.h ia64_cpu.h int_limits.h intrdefs.h loadfile_machdep.h lock.h param.h pmap.h proc.h setjmp.h userret.h vmparam.h Log Message: Trailing whitespace To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/asm.h \ src/sys/arch/ia64/include/pmap.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/bootinfo.h cvs rdiff -u -r1.21 -r1.22 src/sys/arch/ia64/include/cpu.h cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/db_machdep.h \ src/sys/arch/ia64/include/setjmp.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/ia64_cpu.h \ src/sys/arch/ia64/include/intrdefs.h \ src/sys/arch/ia64/include/loadfile_machdep.h cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/include/int_limits.h cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/include/lock.h cvs rdiff -u -r1.11 -r1.12 src/sys/arch/ia64/include/param.h \ src/sys/arch/ia64/include/vmparam.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/ia64/include/proc.h cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/userret.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: skrll Date: Fri Oct 6 11:45:37 UTC 2023 Modified Files: src/sys/arch/ia64/include: asm.h bootinfo.h cpu.h db_machdep.h ia64_cpu.h int_limits.h intrdefs.h loadfile_machdep.h lock.h param.h pmap.h proc.h setjmp.h userret.h vmparam.h Log Message: Trailing whitespace To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/asm.h \ src/sys/arch/ia64/include/pmap.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/bootinfo.h cvs rdiff -u -r1.21 -r1.22 src/sys/arch/ia64/include/cpu.h cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/db_machdep.h \ src/sys/arch/ia64/include/setjmp.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/ia64_cpu.h \ src/sys/arch/ia64/include/intrdefs.h \ src/sys/arch/ia64/include/loadfile_machdep.h cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/include/int_limits.h cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/include/lock.h cvs rdiff -u -r1.11 -r1.12 src/sys/arch/ia64/include/param.h \ src/sys/arch/ia64/include/vmparam.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/ia64/include/proc.h cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/userret.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/asm.h diff -u src/sys/arch/ia64/include/asm.h:1.8 src/sys/arch/ia64/include/asm.h:1.9 --- src/sys/arch/ia64/include/asm.h:1.8 Fri Apr 17 14:19:43 2020 +++ src/sys/arch/ia64/include/asm.h Fri Oct 6 11:45:37 2023 @@ -1,26 +1,26 @@ -/* $NetBSD: asm.h,v 1.8 2020/04/17 14:19:43 joerg Exp $ */ +/* $NetBSD: asm.h,v 1.9 2023/10/06 11:45:37 skrll Exp $ */ /* - * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University * All Rights Reserved. - * + * * Permission to use, copy, modify and distribute this software and its * documentation is hereby granted, provided that both the copyright * notice and this permission notice appear in all copies of the * software, derivative works or modified versions, and any portions * thereof, and that both notices appear in supporting documentation. - * + * * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * + * * Carnegie Mellon requests users of this software to return to - * + * * Software Distribution Coordinator or software.distribut...@cs.cmu.edu * School of Computer Science * Carnegie Mellon University * Pittsburgh PA 15213-3890 - * + * * any improvements or extensions that they make and grant Carnegie Mellon * the rights to redistribute these changes. */ Index: src/sys/arch/ia64/include/pmap.h diff -u src/sys/arch/ia64/include/pmap.h:1.8 src/sys/arch/ia64/include/pmap.h:1.9 --- src/sys/arch/ia64/include/pmap.h:1.8 Sat Apr 8 18:08:33 2017 +++ src/sys/arch/ia64/include/pmap.h Fri Oct 6 11:45:37 2023 @@ -178,10 +178,10 @@ void pmap_procwr(struct proc *, vaddr_t, struct vm_page_md { TAILQ_HEAD(,pv_entry) pv_list; vm_memattr_t memattr; -#if 0 /* XXX freebsd */ +#if 0 /* XXX freebsd */ uint8_t pv_flags; uint8_t aflags; -#endif +#endif }; #define VM_MDPAGE_INIT(pg) \ Index: src/sys/arch/ia64/include/bootinfo.h diff -u src/sys/arch/ia64/include/bootinfo.h:1.2 src/sys/arch/ia64/include/bootinfo.h:1.3 --- src/sys/arch/ia64/include/bootinfo.h:1.2 Thu Dec 26 04:53:11 2019 +++ src/sys/arch/ia64/include/bootinfo.h Fri Oct 6 11:45:37 2023 @@ -1,21 +1,21 @@ -/* $NetBSD: bootinfo.h,v 1.2 2019/12/26 04:53:11 msaitoh Exp $ */ +/* $NetBSD: bootinfo.h,v 1.3 2023/10/06 11:45:37 skrll Exp $ */ /*- * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. * All rights reserved. * * Author: Chris G. Demetriou - * + * * Permission to use, copy, modify and distribute this software and * its documentation is hereby granted, provided that both the copyright * notice and this permission notice appear in all copies of the * software, derivative works or modified versions, and any portions * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * + * * Carnegie Mellon requests users of this software to return to * * Software Distribution Coordinator or software.distribut...@cs.cmu.edu Index: src/sys/arch/ia64/include/cpu.h diff -u src/sys/arch/ia64/include/cpu.h:1.21 src/sys/arch/ia64/include/cpu.h:1.22 --- src/sys/arch/ia64/include/cpu.h:1.21 Tue May 31 08:43:14 2022 +++ src/sys/arch/ia64/include/cpu.h Fri Oct 6 11:45:37
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: riastradh Date: Thu Jul 13 18:27:46 UTC 2023 Modified Files: src/sys/arch/ia64/include: sapicvar.h Log Message: ia64: Need sys/types.h for u_int, vaddr_t; sys/mutex.h for kmutex_t. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/sapicvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/sapicvar.h diff -u src/sys/arch/ia64/include/sapicvar.h:1.1 src/sys/arch/ia64/include/sapicvar.h:1.2 --- src/sys/arch/ia64/include/sapicvar.h:1.1 Mon Jul 20 04:41:37 2009 +++ src/sys/arch/ia64/include/sapicvar.h Thu Jul 13 18:27:46 2023 @@ -29,6 +29,10 @@ #ifndef _MACHINE_SAPICVAR_H_ #define _MACHINE_SAPICVAR_H_ +#include + +#include + struct sapic { kmutex_t sa_mtx; vaddr_t sa_registers; /* virtual address of sapic */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: riastradh Date: Thu Jul 13 18:27:46 UTC 2023 Modified Files: src/sys/arch/ia64/include: sapicvar.h Log Message: ia64: Need sys/types.h for u_int, vaddr_t; sys/mutex.h for kmutex_t. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/sapicvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: riastradh Date: Sat Aug 20 09:40:22 UTC 2022 Modified Files: src/sys/arch/ia64/include: efi.h Log Message: ia64/efi.h: Fix whitespace. No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/efi.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/efi.h diff -u src/sys/arch/ia64/include/efi.h:1.2 src/sys/arch/ia64/include/efi.h:1.3 --- src/sys/arch/ia64/include/efi.h:1.2 Sat Aug 20 09:09:06 2022 +++ src/sys/arch/ia64/include/efi.h Sat Aug 20 09:40:22 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: efi.h,v 1.2 2022/08/20 09:09:06 riastradh Exp $ */ +/* $NetBSD: efi.h,v 1.3 2022/08/20 09:40:22 riastradh Exp $ */ /*- * Copyright (c) 2004 Marcel Moolenaar @@ -84,11 +84,11 @@ struct efi_md { #define EFI_MD_ATTR_WP 0x1000UL #define EFI_MD_ATTR_RP 0x2000UL #define EFI_MD_ATTR_XP 0x4000UL -#define EFI_MD_ATTR_NV 0x8000UL +#define EFI_MD_ATTR_NV 0x8000UL #define EFI_MD_ATTR_MORE_RELIABLE 0x0001UL -#define EFI_MD_ATTR_RO 0x0002UL -#define EFI_MD_ATTR_SP 0x0004UL -#define EFI_MD_ATTR_CPU_CRYPTO 0x0008UL +#define EFI_MD_ATTR_RO 0x0002UL +#define EFI_MD_ATTR_SP 0x0004UL +#define EFI_MD_ATTR_CPU_CRYPTO 0x0008UL #define EFI_MD_ATTR_RT 0x8000UL };
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: riastradh Date: Sat Aug 20 09:40:22 UTC 2022 Modified Files: src/sys/arch/ia64/include: efi.h Log Message: ia64/efi.h: Fix whitespace. No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/efi.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: andvar Date: Thu Jul 21 14:27:47 UTC 2022 Modified Files: src/sys/arch/ia64/include: dig64.h Log Message: s/Transration/Translation/ To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/dig64.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/dig64.h diff -u src/sys/arch/ia64/include/dig64.h:1.3 src/sys/arch/ia64/include/dig64.h:1.4 --- src/sys/arch/ia64/include/dig64.h:1.3 Thu Jul 21 10:09:21 2022 +++ src/sys/arch/ia64/include/dig64.h Thu Jul 21 14:27:46 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: dig64.h,v 1.3 2022/07/21 10:09:21 andvar Exp $ */ +/* $NetBSD: dig64.h,v 1.4 2022/07/21 14:27:46 andvar Exp $ */ /*- * Copyright (c) 2002 Marcel Moolenaar @@ -105,8 +105,8 @@ struct dig64_vga_spec { #define DIG64_FLAGS_INTR_EDGE (1 << 0) /* Edge Triggered */ #define DIG64_FLAGS_INTR_ACTH (0 << 1) /* Intr Active High */ #define DIG64_FLAGS_INTR_ACTL (1 << 1) /* Intr Active Low */ -#define DIG64_FLAGS_TRANS_DENSE (0 << 3) /* Dense Transration */ -#define DIG64_FLAGS_TRANS_SPARSE (1 << 3) /* Sparse Transration */ +#define DIG64_FLAGS_TRANS_DENSE (0 << 3) /* Dense Translation */ +#define DIG64_FLAGS_TRANS_SPARSE (1 << 3) /* Sparse Translation */ #define DIG64_FLAGS_TYPE_STATIC (0 << 4) /* Type Static */ #define DIG64_FLAGS_TYPE_TRANS (1 << 4) /* Type Translation */ #define DIG64_FLAGS_INTR_SUPP (1 << 6) /* Interrupt supported */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: andvar Date: Thu Jul 21 14:27:47 UTC 2022 Modified Files: src/sys/arch/ia64/include: dig64.h Log Message: s/Transration/Translation/ To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/dig64.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: skrll Date: Mon Nov 15 07:26:23 UTC 2021 Modified Files: src/sys/arch/ia64/include: bus.h Log Message: Sprinkle const (and fix build) To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/bus.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/bus.h diff -u src/sys/arch/ia64/include/bus.h:1.4 src/sys/arch/ia64/include/bus.h:1.5 --- src/sys/arch/ia64/include/bus.h:1.4 Sun Dec 15 16:48:26 2019 +++ src/sys/arch/ia64/include/bus.h Mon Nov 15 07:26:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: bus.h,v 1.4 2019/12/15 16:48:26 tsutsui Exp $ */ +/* $NetBSD: bus.h,v 1.5 2021/11/15 07:26:23 skrll Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2001 The NetBSD Foundation, Inc. @@ -428,7 +428,7 @@ do { \ } else { \ int __i; \ volatile uint8_t *__p = (uint8_t *)((h) + (o)); \ - uint8_t *__src = (ptr); \ + const uint8_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) \ *__p = *__src++;\ }\ @@ -443,7 +443,7 @@ do { \ } else { \ int __i; \ volatile uint16_t *__p = (uint16_t *)((h) + (o)); \ - uint16_t *__src = (ptr);\ + const uint16_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) \ *__p = *__src++;\ }\ @@ -458,7 +458,7 @@ do { \ } else { \ int __i; \ volatile uint32_t *__p = (uint32_t *)((h) + (o)); \ - uint32_t *__src = (ptr);\ + const uint32_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) \ *__p = *__src++;\ }\ @@ -473,7 +473,7 @@ do { \ } else { \ int __i; \ volatile uint64_t *__p = (uint64_t *)((h) + (o)); \ - uint64_t *__src = (ptr);\ + const uint64_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) \ *__p = *__src++;\ }\ @@ -499,7 +499,7 @@ do { \ if ((t) == IA64_BUS_SPACE_IO) { \ int __i; \ volatile bus_addr_t __port = (h) + (o); \ - uint8_t *__src = (ptr); \ + const uint8_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) { \ outb(__port, *__src);\ __port++; \ @@ -508,7 +508,7 @@ do { \ } else { \ int __i; \ volatile uint8_t *__p = (uint8_t *)((h) + (o)); \ - uint8_t *__src = (ptr); \ + const uint8_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) \ *__p++ = *__src++;\ }\ @@ -521,7 +521,7 @@ do { \ if ((t) == IA64_BUS_SPACE_IO) { \ int __i; \ volatile bus_addr_t __port = (h) + (o); \ - uint16_t *__src = (ptr);\ + const uint16_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) { \ outw(__port, *__src);\ __port += 2; \ @@ -530,7 +530,7 @@ do { \ } else { \ int __i; \ volatile uint16_t *__p = (uint16_t *)((h) + (o)); \ - uint16_t *__src = (ptr);\ + const uint16_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) \ *__p++ = *__src++;\ }\ @@ -543,7 +543,7 @@ do { \ if ((t) == IA64_BUS_SPACE_IO) { \ int __i; \ volatile bus_addr_t __port = (h) + (o); \ - uint32_t *__src = (ptr);\ + const uint32_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) { \ outl(__port, *__src);\ __port += 4; \ @@ -552,7 +552,7 @@ do { \ } else { \ int __i; \ volatile uint32_t *__p = (uint32_t *)(h) + (o); \ - uint32_t *__src = (ptr);\ + const uint32_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) \ *__p++ = *__src++;\ }\ @@ -567,7 +567,7 @@ do { \ } else { \ int __i; \ volatile uint64_t *__p = (uint64_t *)((h) + (o)); \ - uint64_t *__src = (ptr);\ + const uint64_t *__src = (ptr);\ for (__i = 0; __i < (cnt); __i++) \ *__p++ = *__src++;\ }\
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: skrll Date: Mon Nov 15 07:26:23 UTC 2021 Modified Files: src/sys/arch/ia64/include: bus.h Log Message: Sprinkle const (and fix build) To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/bus.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: mrg Date: Mon Sep 7 07:48:23 UTC 2020 Modified Files: src/sys/arch/ia64/include: types.h Log Message: define __HAVE___LWP_GETPRIVATE_FAST To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/sys/arch/ia64/include/types.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/types.h diff -u src/sys/arch/ia64/include/types.h:1.11 src/sys/arch/ia64/include/types.h:1.12 --- src/sys/arch/ia64/include/types.h:1.11 Thu Jul 12 10:46:44 2018 +++ src/sys/arch/ia64/include/types.h Mon Sep 7 07:48:23 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: types.h,v 1.11 2018/07/12 10:46:44 maxv Exp $ */ +/* $NetBSD: types.h,v 1.12 2020/09/07 07:48:23 mrg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -69,6 +69,7 @@ typedef long int __register_t; #define __HAVE_CPU_DATA_FIRST #define __HAVE_CPU_COUNTER #define __HAVE_SYSCALL_INTERN +#define __HAVE___LWP_GETPRIVATE_FAST #define __HAVE_MINIMAL_EMUL #define __HAVE_OLD_DISKLABEL #define __HAVE_ATOMIC64_OPS
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: mrg Date: Mon Sep 7 07:48:23 UTC 2020 Modified Files: src/sys/arch/ia64/include: types.h Log Message: define __HAVE___LWP_GETPRIVATE_FAST To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/sys/arch/ia64/include/types.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Jun 29 17:09:33 UTC 2020 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: Fix for last checkin, don't try use non-existent register from a (currently) dummy struct To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.11 src/sys/arch/ia64/include/mcontext.h:1.12 --- src/sys/arch/ia64/include/mcontext.h:1.11 Mon Jun 29 01:37:27 2020 +++ src/sys/arch/ia64/include/mcontext.h Mon Jun 29 17:09:33 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.11 2020/06/29 01:37:27 scole Exp $ */ +/* $NetBSD: mcontext.h,v 1.12 2020/06/29 17:09:33 scole Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -114,7 +114,7 @@ typedef struct __mcontext { #define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.mc_special.sp) /* gregs[12] */ #define _UC_MACHINE_FP(uc) 0 /* Not supported in target */ #define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.iip) -#define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[8]) +#define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.mc_scratch.gr8) /* gregs[8] */ #define _UC_MACHINE_SET_PC(uc, pc) (uc)->uc_mcontext.mc_special.iip = (pc) #if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Jun 29 17:09:33 UTC 2020 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: Fix for last checkin, don't try use non-existent register from a (currently) dummy struct To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Jun 29 01:37:27 UTC 2020 Modified Files: src/sys/arch/ia64/include: mcontext.h setjmp.h Log Message: Allow kernel to compile by preventing "error: stack usage is ..." too-large errors. What was there previously was not correct and this will need to be revisited for debugger to ever become functional anyway. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/ia64/include/mcontext.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/setjmp.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.10 src/sys/arch/ia64/include/mcontext.h:1.11 --- src/sys/arch/ia64/include/mcontext.h:1.10 Fri Dec 27 00:32:17 2019 +++ src/sys/arch/ia64/include/mcontext.h Mon Jun 29 01:37:27 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.10 2019/12/27 00:32:17 kamil Exp $ */ +/* $NetBSD: mcontext.h,v 1.11 2020/06/29 01:37:27 scole Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ #include /* XXX fix this, just get to compile for now */ -#define _NGREG 128 +#define _NGREG 1 #ifndef __ASSEMBLER__ typedef unsigned long __greg_t; Index: src/sys/arch/ia64/include/setjmp.h diff -u src/sys/arch/ia64/include/setjmp.h:1.3 src/sys/arch/ia64/include/setjmp.h:1.4 --- src/sys/arch/ia64/include/setjmp.h:1.3 Thu May 2 16:55:51 2019 +++ src/sys/arch/ia64/include/setjmp.h Mon Jun 29 01:37:27 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: setjmp.h,v 1.3 2019/05/02 16:55:51 scole Exp $ */ +/* $NetBSD: setjmp.h,v 1.4 2020/06/29 01:37:27 scole Exp $ */ /*- * Copyright (c) 2000 @@ -86,6 +86,7 @@ #define J_SIGMASK 0x1d8 #define J_SIGSET 0x1e0 -#define _JBLEN 0x200 /* Size in long XXX: Set to sizeof(mcontext_t)/sizeof(long) */ +/* XXX use FreeBSD value for now, set to sizeof(mcontext_t)/sizeof(long) ? */ +#define _JBLEN 0x20 /* Size in long doubles */ #endif /* !_MACHINE_SETJMP_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Jun 29 01:37:27 UTC 2020 Modified Files: src/sys/arch/ia64/include: mcontext.h setjmp.h Log Message: Allow kernel to compile by preventing "error: stack usage is ..." too-large errors. What was there previously was not correct and this will need to be revisited for debugger to ever become functional anyway. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/ia64/include/mcontext.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/setjmp.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: riastradh Date: Fri Nov 29 20:05:38 UTC 2019 Modified Files: src/sys/arch/ia64/include: lock.h Log Message: Nix mb_* on ia64. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/lock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/lock.h diff -u src/sys/arch/ia64/include/lock.h:1.7 src/sys/arch/ia64/include/lock.h:1.8 --- src/sys/arch/ia64/include/lock.h:1.7 Thu Jan 10 17:05:56 2019 +++ src/sys/arch/ia64/include/lock.h Fri Nov 29 20:05:38 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: lock.h,v 1.7 2019/01/10 17:05:56 scole Exp $ */ +/* $NetBSD: lock.h,v 1.8 2019/11/29 20:05:38 riastradh Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -117,24 +117,6 @@ __cpu_simple_unlock(__cpu_simple_lock_t } static __inline void -mb_read(void) -{ - __asm __volatile("mf \n" ::: "memory"); -} - -static __inline void -mb_write(void) -{ - __asm __volatile("mf \n" ::: "memory"); -} - -static __inline void -mb_memory(void) -{ - __asm __volatile("mf \n" ::: "memory"); -} - -static __inline void ia64_pause(void) { __asm __volatile("hint @pause" ::: "memory");
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: riastradh Date: Fri Nov 29 20:05:38 UTC 2019 Modified Files: src/sys/arch/ia64/include: lock.h Log Message: Nix mb_* on ia64. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/lock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: ad Date: Sun Nov 24 15:45:41 UTC 2019 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: Make ci_want_resched a u_int. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/cpu.h diff -u src/sys/arch/ia64/include/cpu.h:1.18 src/sys/arch/ia64/include/cpu.h:1.19 --- src/sys/arch/ia64/include/cpu.h:1.18 Sat Nov 23 19:40:35 2019 +++ src/sys/arch/ia64/include/cpu.h Sun Nov 24 15:45:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.18 2019/11/23 19:40:35 ad Exp $ */ +/* $NetBSD: cpu.h,v 1.19 2019/11/24 15:45:41 ad Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -107,7 +107,8 @@ struct cpu_info { struct lwp *ci_fpcurlwp; /* current owner of the FPU */ paddr_t ci_curpcb; /* PA of current HW PCB */ struct pcb *ci_idle_pcb; /* our idle PCB */ - u_long ci_want_resched; /* preempt current process */ + u_int ci_want_resched; /* preempt current process */ + u_int ci_unused; /* unused */ u_long ci_intrdepth; /* interrupt trap depth */ struct trapframe *ci_db_regs; /* registers for debuggers */ uint64_t ci_clock; /* clock counter */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: ad Date: Sun Nov 24 15:45:41 UTC 2019 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: Make ci_want_resched a u_int. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: mrg Date: Sat Nov 16 22:51:51 UTC 2019 Modified Files: src/sys/arch/ia64/include: fenv.h Log Message: do the ignore -Wshadow dance for builtins and GCC 8, copied from ppc version. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/fenv.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: mrg Date: Sat Nov 16 22:51:51 UTC 2019 Modified Files: src/sys/arch/ia64/include: fenv.h Log Message: do the ignore -Wshadow dance for builtins and GCC 8, copied from ppc version. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/fenv.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/fenv.h diff -u src/sys/arch/ia64/include/fenv.h:1.2 src/sys/arch/ia64/include/fenv.h:1.3 --- src/sys/arch/ia64/include/fenv.h:1.2 Thu Mar 23 18:27:29 2017 +++ src/sys/arch/ia64/include/fenv.h Sat Nov 16 22:51:51 2019 @@ -67,6 +67,11 @@ extern const fenv_t __fe_dfl_env; #define __stfpsr(__r) __asm __volatile("mov %0=ar.fpsr" : "=r" (*(__r))) #define __ldfpsr(__r) __asm __volatile("mov ar.fpsr=%0;;" : : "r" (__r)) +#if __GNUC_PREREQ__(8, 0) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" +#endif + __fenv_static inline int feclearexcept(int __excepts) { @@ -206,6 +211,10 @@ fesetenv(const fenv_t *__envp) int feupdateenv(const fenv_t *__envp); +#if __GNUC_PREREQ__(8, 0) +#pragma GCC diagnostic pop +#endif + #if defined(_NETBSD_SOURCE) || defined(_GNU_SOURCE) __fenv_static inline int
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: kamil Date: Mon Jun 17 15:08:34 UTC 2019 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: Enhance ia64/mcontext defines Stop mapping _UC_MACHINE_FP() to a register as it is not supported by CPU. There is need to use in code __builtin_frame_address() inlined in the code to get the frame pointer. Return a constant value 0 instead. New value does not pretend to return a meaningful value. While there, fix the definition of _UC_MACHINE_SET_PC as it didn't contain the pc argument in the definition. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: kamil Date: Mon Jun 17 15:08:34 UTC 2019 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: Enhance ia64/mcontext defines Stop mapping _UC_MACHINE_FP() to a register as it is not supported by CPU. There is need to use in code __builtin_frame_address() inlined in the code to get the frame pointer. Return a constant value 0 instead. New value does not pretend to return a meaningful value. While there, fix the definition of _UC_MACHINE_SET_PC as it didn't contain the pc argument in the definition. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.8 src/sys/arch/ia64/include/mcontext.h:1.9 --- src/sys/arch/ia64/include/mcontext.h:1.8 Thu Apr 26 18:06:25 2018 +++ src/sys/arch/ia64/include/mcontext.h Mon Jun 17 15:08:34 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.8 2018/04/26 18:06:25 scole Exp $ */ +/* $NetBSD: mcontext.h,v 1.9 2019/06/17 15:08:34 kamil Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -112,10 +112,10 @@ typedef struct __mcontext { } mcontext_t; #define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.mc_special.sp) /* gregs[12] */ -#define _UC_MACHINE_FP(uc) ((uc)->uc_mcontext.__gregs[79]) +#define _UC_MACHINE_FP(uc) 0 /* Not supported in target */ #define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.iip) #define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[8]) -#define _UC_MACHINE_SET_PC(uc) _UC_MACHINE_PC(uc) = (pc) /* XXX */ +#define _UC_MACHINE_SET_PC(uc, pc) (uc)->uc_mcontext.mc_special.iip = (pc) static __inline void * __lwp_getprivate_fast(void)
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Mar 29 16:04:54 UTC 2019 Modified Files: src/sys/arch/ia64/include: vmparam.h Log Message: Remove SGROWSIZ parameter which looks like it was imported from FreeBSD and not use with NetBSD To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/ia64/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Mar 29 16:04:54 UTC 2019 Modified Files: src/sys/arch/ia64/include: vmparam.h Log Message: Remove SGROWSIZ parameter which looks like it was imported from FreeBSD and not use with NetBSD To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/ia64/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/vmparam.h diff -u src/sys/arch/ia64/include/vmparam.h:1.10 src/sys/arch/ia64/include/vmparam.h:1.11 --- src/sys/arch/ia64/include/vmparam.h:1.10 Sat Apr 8 18:05:36 2017 +++ src/sys/arch/ia64/include/vmparam.h Fri Mar 29 16:04:54 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.10 2017/04/08 18:05:36 scole Exp $ */ +/* $NetBSD: vmparam.h,v 1.11 2019/03/29 16:04:54 scole Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -57,9 +57,6 @@ #ifndef MAXSSIZ #define MAXSSIZ (1<<28) /* max stack size (256M) */ #endif -#ifndef SGROWSIZ -#define SGROWSIZ (128UL*1024) /* amount to grow stack */ -#endif #define IA64_VM_MINKERN_REGION 4
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Thu Jan 10 17:05:56 UTC 2019 Modified Files: src/sys/arch/ia64/include: cpu.h lock.h Log Message: consolidate hint@pause in one place. remove mf.a from memory barriers To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/arch/ia64/include/cpu.h cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/lock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Thu Jan 10 17:05:56 UTC 2019 Modified Files: src/sys/arch/ia64/include: cpu.h lock.h Log Message: consolidate hint@pause in one place. remove mf.a from memory barriers To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/arch/ia64/include/cpu.h cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/lock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/cpu.h diff -u src/sys/arch/ia64/include/cpu.h:1.16 src/sys/arch/ia64/include/cpu.h:1.17 --- src/sys/arch/ia64/include/cpu.h:1.16 Sat Apr 8 18:01:22 2017 +++ src/sys/arch/ia64/include/cpu.h Thu Jan 10 17:05:56 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.16 2017/04/08 18:01:22 scole Exp $ */ +/* $NetBSD: cpu.h,v 1.17 2019/01/10 17:05:56 scole Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -78,6 +78,7 @@ #include #include #include +#include #include struct cpu_info { @@ -178,12 +179,7 @@ int cpu_maxproc(void); /*XXX: Fill in ma #define DELAY(x) __nothing /* XXX: FIXME */ -static inline void cpu_idle(void); -static inline -void cpu_idle(void) -{ - asm ("hint @pause" ::: "memory"); -} +#define cpu_idle() ia64_pause() #endif /* _KERNEL_ */ #endif /* _IA64_CPU_H */ Index: src/sys/arch/ia64/include/lock.h diff -u src/sys/arch/ia64/include/lock.h:1.6 src/sys/arch/ia64/include/lock.h:1.7 --- src/sys/arch/ia64/include/lock.h:1.6 Sun Sep 17 00:01:07 2017 +++ src/sys/arch/ia64/include/lock.h Thu Jan 10 17:05:56 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: lock.h,v 1.6 2017/09/17 00:01:07 christos Exp $ */ +/* $NetBSD: lock.h,v 1.7 2019/01/10 17:05:56 scole Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -65,7 +65,7 @@ __cpu_simple_lock_clear(__cpu_simple_loc #ifdef _KERNEL #define SPINLOCK_SPIN_HOOK /* nothing */ -#define SPINLOCK_BACKOFF_HOOK /* XXX(kochi): hint@pause */ +#define SPINLOCK_BACKOFF_HOOK /* XXX ia64_pause() */ #endif @@ -116,26 +116,28 @@ __cpu_simple_unlock(__cpu_simple_lock_t *lockp = __SIMPLELOCK_UNLOCKED; } -/* XXX mf.a overkill for these? */ static __inline void mb_read(void) { - __asm __volatile("mf.a \n" - "mf \n" ::: "memory"); + __asm __volatile("mf \n" ::: "memory"); } static __inline void mb_write(void) { - __asm __volatile("mf.a \n" - "mf \n" ::: "memory"); + __asm __volatile("mf \n" ::: "memory"); } static __inline void mb_memory(void) { - __asm __volatile("mf.a \n" - "mf \n" ::: "memory"); + __asm __volatile("mf \n" ::: "memory"); +} + +static __inline void +ia64_pause(void) +{ + __asm __volatile("hint @pause" ::: "memory"); } #endif /* _IA64_LOCK_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Dec 29 20:06:49 UTC 2018 Modified Files: src/sys/arch/ia64/include: proc.h Log Message: fix stack size calculation To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/include/proc.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/proc.h diff -u src/sys/arch/ia64/include/proc.h:1.9 src/sys/arch/ia64/include/proc.h:1.10 --- src/sys/arch/ia64/include/proc.h:1.9 Sun Dec 2 16:49:24 2018 +++ src/sys/arch/ia64/include/proc.h Sat Dec 29 20:06:49 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: proc.h,v 1.9 2018/12/02 16:49:24 scole Exp $ */ +/* $NetBSD: proc.h,v 1.10 2018/12/29 20:06:49 scole Exp $ */ #ifndef _IA64_PROC_H_ #define _IA64_PROC_H_ @@ -41,8 +41,8 @@ struct mdproc { #define UAREA_PCB_OFFSET (USPACE - sizeof(struct pcb)) #define UAREA_TF_OFFSET (UAREA_PCB_OFFSET - sizeof(struct trapframe)) -#define UAREA_SP_OFFSET (UAREA_TF_OFFSET -16) +#define UAREA_SP_OFFSET (UAREA_TF_OFFSET - 16) #define UAREA_BSPSTORE_OFFSET (0) -#define UAREA_STACK_SIZE (USPACE - UAREA_SP_OFFSET) +#define UAREA_STACK_SIZE (USPACE - 16 - sizeof(struct trapframe) - sizeof(struct pcb)) #endif /* _IA64_PROC_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Dec 29 20:06:49 UTC 2018 Modified Files: src/sys/arch/ia64/include: proc.h Log Message: fix stack size calculation To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/include/proc.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sun Dec 2 16:49:24 UTC 2018 Modified Files: src/sys/arch/ia64/include: proc.h Log Message: fix SP offset To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/proc.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/proc.h diff -u src/sys/arch/ia64/include/proc.h:1.8 src/sys/arch/ia64/include/proc.h:1.9 --- src/sys/arch/ia64/include/proc.h:1.8 Thu Nov 15 20:06:23 2018 +++ src/sys/arch/ia64/include/proc.h Sun Dec 2 16:49:24 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: proc.h,v 1.8 2018/11/15 20:06:23 scole Exp $ */ +/* $NetBSD: proc.h,v 1.9 2018/12/02 16:49:24 scole Exp $ */ #ifndef _IA64_PROC_H_ #define _IA64_PROC_H_ @@ -41,9 +41,8 @@ struct mdproc { #define UAREA_PCB_OFFSET (USPACE - sizeof(struct pcb)) #define UAREA_TF_OFFSET (UAREA_PCB_OFFSET - sizeof(struct trapframe)) -#define UAREA_SP_OFFSET (UAREA_TF_OFFSET -16 -sizeof(uint64_t)) +#define UAREA_SP_OFFSET (UAREA_TF_OFFSET -16) #define UAREA_BSPSTORE_OFFSET (0) -#define UAREA_STACK_SIZE (USPACE - 16 - sizeof(struct trapframe) - \ - sizeof(struct pcb)) +#define UAREA_STACK_SIZE (USPACE - UAREA_SP_OFFSET) #endif /* _IA64_PROC_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sun Dec 2 16:49:24 UTC 2018 Modified Files: src/sys/arch/ia64/include: proc.h Log Message: fix SP offset To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/proc.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Thu Nov 15 20:06:23 UTC 2018 Modified Files: src/sys/arch/ia64/include: proc.h Log Message: change "PCB" to "pcb" To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/proc.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Thu Nov 15 20:06:23 UTC 2018 Modified Files: src/sys/arch/ia64/include: proc.h Log Message: change "PCB" to "pcb" To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/proc.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/proc.h diff -u src/sys/arch/ia64/include/proc.h:1.7 src/sys/arch/ia64/include/proc.h:1.8 --- src/sys/arch/ia64/include/proc.h:1.7 Wed Nov 14 21:10:59 2018 +++ src/sys/arch/ia64/include/proc.h Thu Nov 15 20:06:23 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: proc.h,v 1.7 2018/11/14 21:10:59 scole Exp $ */ +/* $NetBSD: proc.h,v 1.8 2018/11/15 20:06:23 scole Exp $ */ #ifndef _IA64_PROC_H_ #define _IA64_PROC_H_ @@ -44,6 +44,6 @@ struct mdproc { #define UAREA_SP_OFFSET (UAREA_TF_OFFSET -16 -sizeof(uint64_t)) #define UAREA_BSPSTORE_OFFSET (0) #define UAREA_STACK_SIZE (USPACE - 16 - sizeof(struct trapframe) - \ - sizeof(struct PCB)) + sizeof(struct pcb)) #endif /* _IA64_PROC_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Thu Apr 26 18:06:25 UTC 2018 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: Update some of the _UC_MACHINE* macros even though gregs[] aren't tied to anything yet To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Thu Apr 26 18:06:25 UTC 2018 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: Update some of the _UC_MACHINE* macros even though gregs[] aren't tied to anything yet To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.7 src/sys/arch/ia64/include/mcontext.h:1.8 --- src/sys/arch/ia64/include/mcontext.h:1.7 Tue Feb 27 09:51:28 2018 +++ src/sys/arch/ia64/include/mcontext.h Thu Apr 26 18:06:25 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.7 2018/02/27 09:51:28 kamil Exp $ */ +/* $NetBSD: mcontext.h,v 1.8 2018/04/26 18:06:25 scole Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -111,11 +111,11 @@ typedef struct __mcontext { __fpregset_t __fpregs; } mcontext_t; -#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.mc_special.sp) +#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.mc_special.sp) /* gregs[12] */ #define _UC_MACHINE_FP(uc) ((uc)->uc_mcontext.__gregs[79]) -/* XXX or assembly "mov Rn = ip" or ...? */ #define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.iip) -#define _UC_MACHINE_INTRV(uc) 0 /* XXX */ +#define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[8]) +#define _UC_MACHINE_SET_PC(uc) _UC_MACHINE_PC(uc) = (pc) /* XXX */ static __inline void * __lwp_getprivate_fast(void)
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: kamil Date: Tue Feb 27 09:51:28 UTC 2018 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: Add a dummy implementation of _UC_MACHINE_INTRV() for ia64 This fixes a build problem in src/tests/lib/libc/sys/t_ucontext.c. This needs to be revisited once the port will get more mature. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.6 src/sys/arch/ia64/include/mcontext.h:1.7 --- src/sys/arch/ia64/include/mcontext.h:1.6 Thu Feb 15 15:53:56 2018 +++ src/sys/arch/ia64/include/mcontext.h Tue Feb 27 09:51:28 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.6 2018/02/15 15:53:56 kamil Exp $ */ +/* $NetBSD: mcontext.h,v 1.7 2018/02/27 09:51:28 kamil Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -115,6 +115,7 @@ typedef struct __mcontext { #define _UC_MACHINE_FP(uc) ((uc)->uc_mcontext.__gregs[79]) /* XXX or assembly "mov Rn = ip" or ...? */ #define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.iip) +#define _UC_MACHINE_INTRV(uc) 0 /* XXX */ static __inline void * __lwp_getprivate_fast(void)
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: kamil Date: Tue Feb 27 09:51:28 UTC 2018 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: Add a dummy implementation of _UC_MACHINE_INTRV() for ia64 This fixes a build problem in src/tests/lib/libc/sys/t_ucontext.c. This needs to be revisited once the port will get more mature. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: maya Date: Tue Aug 15 09:09:49 UTC 2017 Modified Files: src/sys/arch/ia64/include: cdefs.h Log Message: Remove fallback definition for __ELF__. Failing to define it would've been a toolchain bug, not to be worked around with a simple redefinition. fortunately, it doesn't appear to happen To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/cdefs.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: maya Date: Tue Aug 15 09:09:49 UTC 2017 Modified Files: src/sys/arch/ia64/include: cdefs.h Log Message: Remove fallback definition for __ELF__. Failing to define it would've been a toolchain bug, not to be worked around with a simple redefinition. fortunately, it doesn't appear to happen To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/cdefs.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/cdefs.h diff -u src/sys/arch/ia64/include/cdefs.h:1.3 src/sys/arch/ia64/include/cdefs.h:1.4 --- src/sys/arch/ia64/include/cdefs.h:1.3 Tue Mar 18 17:11:19 2014 +++ src/sys/arch/ia64/include/cdefs.h Tue Aug 15 09:09:49 2017 @@ -1,13 +1,8 @@ -/* $NetBSD: cdefs.h,v 1.3 2014/03/18 17:11:19 christos Exp $ */ +/* $NetBSD: cdefs.h,v 1.4 2017/08/15 09:09:49 maya Exp $ */ #ifndef _MACHINE_CDEFS_H_ #define _MACHINE_CDEFS_H_ -/* We're elf only: inspected by sys/cdefs.h */ -#ifndef __ELF__ -#define __ELF__ -#endif - #define __ALIGNBYTES ((size_t)15) #endif /* !_MACHINE_CDEFS_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:05:36 UTC 2017 Modified Files: src/sys/arch/ia64/include: vmparam.h Log Message: Add VM_INIT_KERNEL_ADDRESS from FreeBSD To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/vmparam.h diff -u src/sys/arch/ia64/include/vmparam.h:1.9 src/sys/arch/ia64/include/vmparam.h:1.10 --- src/sys/arch/ia64/include/vmparam.h:1.9 Sat Aug 6 21:13:30 2016 +++ src/sys/arch/ia64/include/vmparam.h Sat Apr 8 18:05:36 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.9 2016/08/06 21:13:30 martin Exp $ */ +/* $NetBSD: vmparam.h,v 1.10 2017/04/08 18:05:36 scole Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -131,6 +131,9 @@ #define IA64_ID_PAGE_SIZE (1 << IA64_ID_PAGE_SHIFT) #define IA64_ID_PAGE_MASK (IA64_ID_PAGE_SIZE-1) +/* XXX freebsd uses +#define IA64_BACKINGSTORE (USRSTACK - (2 * MAXSSIZ) - PAGE_SIZE) +*/ #define IA64_BACKINGSTORE IA64_RR_BASE(4) #define PAGE_SHIFT 14 /* 16K pages by default. */ @@ -143,6 +146,7 @@ #define VM_GATEWAY_SIZE PAGE_SIZE #define VM_MAXUSER_ADDRESS (VM_MAX_ADDRESS + VM_GATEWAY_SIZE) #define VM_MIN_KERNEL_ADDRESS VM_MAXUSER_ADDRESS +#define VM_INIT_KERNEL_ADDRESS IA64_RR_BASE(IA64_VM_MINKERN_REGION + 1) #define VM_MAX_KERNEL_ADDRESS ((vaddr_t) (IA64_RR_BASE(6) - 1)) #define VM_PHYSSEG_MAX 16 /* XXX: */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:04:35 UTC 2017 Modified Files: src/sys/arch/ia64/include: pcb.h Log Message: Make restorectx() and swapctx() match original FreeBSD defs To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/pcb.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:04:35 UTC 2017 Modified Files: src/sys/arch/ia64/include: pcb.h Log Message: Make restorectx() and swapctx() match original FreeBSD defs To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/pcb.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/pcb.h diff -u src/sys/arch/ia64/include/pcb.h:1.2 src/sys/arch/ia64/include/pcb.h:1.3 --- src/sys/arch/ia64/include/pcb.h:1.2 Thu Mar 20 09:09:20 2008 +++ src/sys/arch/ia64/include/pcb.h Sat Apr 8 18:04:34 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: pcb.h,v 1.2 2008/03/20 09:09:20 kochi Exp $ */ +/* $NetBSD: pcb.h,v 1.3 2017/04/08 18:04:34 scole Exp $ */ /*- * Copyright (c) 2003,2004 Marcel Moolenaar @@ -67,8 +67,9 @@ struct pcb { struct trapframe; void makectx(struct trapframe *, struct pcb *); -/*void restorectx(struct pcb *) __dead2;*/ -int swapctx(struct pcb *old, struct pcb *new); +/* XXX not sure about the attributes, for now use equivalent to freebsd */ +void restorectx(struct pcb *) __attribute__ ((__noreturn__)); /* same as __dead2? */ +int swapctx(struct pcb *old, struct pcb *new) __returns_twice; void ia32_restorectx(struct pcb *); void ia32_savectx(struct pcb *);
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:03:33 UTC 2017 Modified Files: src/sys/arch/ia64/include: param.h Log Message: Add more defs from FreeBSD To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/param.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:03:33 UTC 2017 Modified Files: src/sys/arch/ia64/include: param.h Log Message: Add more defs from FreeBSD To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/param.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/param.h diff -u src/sys/arch/ia64/include/param.h:1.8 src/sys/arch/ia64/include/param.h:1.9 --- src/sys/arch/ia64/include/param.h:1.8 Fri Feb 10 17:35:49 2012 +++ src/sys/arch/ia64/include/param.h Sat Apr 8 18:03:33 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: param.h,v 1.8 2012/02/10 17:35:49 para Exp $ */ +/* $NetBSD: param.h,v 1.9 2017/04/08 18:03:33 scole Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -80,6 +80,9 @@ #define ALIGNBYTES32 (sizeof(int) - 1) #define ALIGN32(p) (((u_long)(p) + ALIGNBYTES32) &~ALIGNBYTES32) +#ifndef LOG2_PAGE_SIZE +#define LOG2_PAGE_SIZE 14 /* 16K pages by default. */ +#endif #define PGSHIFT 14 /* LOG2(NBPG) */ #define NBPG (1 << PGSHIFT) /* bytes/page */ #define PGOFSET (NBPG-1) /* byte offset into page */ @@ -108,6 +111,11 @@ #define NKMEMPAGES_MIN_DEFAULT ((32 * 1024 * 1024) >> PAGE_SHIFT) #define NKMEMPAGES_MAX_UNLIMITED 1 +/* The default size of identity mappings in region 6 & 7. */ +#ifndef LOG2_ID_PAGE_SIZE +#define LOG2_ID_PAGE_SIZE 16 +#endif + /* * Mach derived conversion macros */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:02:55 UTC 2017 Modified Files: src/sys/arch/ia64/include: md_var.h Log Message: Add more funcs from FreeBSD To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/md_var.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/md_var.h diff -u src/sys/arch/ia64/include/md_var.h:1.1 src/sys/arch/ia64/include/md_var.h:1.2 --- src/sys/arch/ia64/include/md_var.h:1.1 Fri Apr 7 14:21:18 2006 +++ src/sys/arch/ia64/include/md_var.h Sat Apr 8 18:02:55 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: md_var.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */ +/* $NetBSD: md_var.h,v 1.2 2017/04/08 18:02:55 scole Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -83,13 +83,14 @@ void ia64_probe_sapics(void); int interrupt(uint64_t, struct trapframe *); void map_gateway_page(void); void map_pal_code(void); +void map_vhpt(uintptr_t); void os_boot_rendez(void); void os_mca(void); int syscall(struct trapframe *); void trap(int, struct trapframe *); void trap_panic(int, struct trapframe *); int unaligned_fixup(struct trapframe *, struct thread *); - +void ia64_sync_icache(vaddr_t, vaddr_t); #endif /* _KERNEL */ #endif /* !_IA64_MD_VAR_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:02:55 UTC 2017 Modified Files: src/sys/arch/ia64/include: md_var.h Log Message: Add more funcs from FreeBSD To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/md_var.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:02:21 UTC 2017 Modified Files: src/sys/arch/ia64/include: intr.h Log Message: Add ia64_handle_intr() declaration To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/include/intr.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:02:21 UTC 2017 Modified Files: src/sys/arch/ia64/include: intr.h Log Message: Add ia64_handle_intr() declaration To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/include/intr.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/intr.h diff -u src/sys/arch/ia64/include/intr.h:1.5 src/sys/arch/ia64/include/intr.h:1.6 --- src/sys/arch/ia64/include/intr.h:1.5 Mon Jul 20 06:14:15 2009 +++ src/sys/arch/ia64/include/intr.h Sat Apr 8 18:02:21 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.5 2009/07/20 06:14:15 kiyohara Exp $ */ +/* $NetBSD: intr.h,v 1.6 2017/04/08 18:02:21 scole Exp $ */ /* XXX: cherry: To Be fixed when we switch on interrupts. */ @@ -69,5 +69,6 @@ extern uint64_t ia64_lapic_address; void *intr_establish(int, int, int, int (*)(void *), void *); void intr_disestablish(void *); +void ia64_handle_intr(void *); #endif /* ! _IA64_INTR_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:01:22 UTC 2017 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: Add ci_vhpt to cpu_info To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/cpu.h diff -u src/sys/arch/ia64/include/cpu.h:1.15 src/sys/arch/ia64/include/cpu.h:1.16 --- src/sys/arch/ia64/include/cpu.h:1.15 Wed Feb 8 18:01:12 2017 +++ src/sys/arch/ia64/include/cpu.h Sat Apr 8 18:01:22 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.15 2017/02/08 18:01:12 christos Exp $ */ +/* $NetBSD: cpu.h,v 1.16 2017/04/08 18:01:22 scole Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -102,7 +102,7 @@ struct cpu_info { cpuid_t ci_cpuid; /* our CPU ID */ uint32_t ci_acpiid; /* our ACPI/MADT ID */ uint32_t ci_initapicid; /* our intitial APIC ID */ - struct pmap *ci_pmap; /* current pmap */ + struct pmap *ci_pmap; /* current pmap */ /* XXX FreeBSD has *pcb_current_pmap in pcb ? */ struct lwp *ci_fpcurlwp; /* current owner of the FPU */ paddr_t ci_curpcb; /* PA of current HW PCB */ struct pcb *ci_idle_pcb; /* our idle PCB */ @@ -111,6 +111,7 @@ struct cpu_info { struct trapframe *ci_db_regs; /* registers for debuggers */ uint64_t ci_clock; /* clock counter */ uint64_t ci_clockadj; /* clock adjust */ + uint64_t ci_vhpt; /* address of vhpt */ };
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Sat Apr 8 18:01:22 UTC 2017 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: Add ci_vhpt to cpu_info To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Apr 3 17:19:43 UTC 2017 Modified Files: src/sys/arch/ia64/include: isa_machdep.h Log Message: com_isa uses isa_intr_establish_xname now, fixes GENERIC compilation To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/isa_machdep.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/isa_machdep.h diff -u src/sys/arch/ia64/include/isa_machdep.h:1.2 src/sys/arch/ia64/include/isa_machdep.h:1.3 --- src/sys/arch/ia64/include/isa_machdep.h:1.2 Tue Oct 18 22:04:34 2016 +++ src/sys/arch/ia64/include/isa_machdep.h Mon Apr 3 17:19:43 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: isa_machdep.h,v 1.2 2016/10/18 22:04:34 jdolecek Exp $ */ +/* $NetBSD: isa_machdep.h,v 1.3 2017/04/03 17:19:43 scole Exp $ */ /* * Copyright (c) 2009 KIYOHARA Takashi * All rights reserved. @@ -37,7 +37,8 @@ isa_intr_establish(isa_chipset_tag_t ic, return intr_establish(irq, type, level, ih_func, ih_arg); } -void *isa_intr_establish_xname(isa_chipset_tag_t, int, int, int, - int (*)(void *), void *, const char *); +/* XXX - com_isa.c requires _xname now */ +#define isa_intr_establish_xname(ic, irq, type, level, fun, arg, xname) \ + isa_intr_establish(ic, irq, type, level, fun, arg) #endif /* _ISA_MACHDEP_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Apr 3 17:19:43 UTC 2017 Modified Files: src/sys/arch/ia64/include: isa_machdep.h Log Message: com_isa uses isa_intr_establish_xname now, fixes GENERIC compilation To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/isa_machdep.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Thu Feb 23 02:03:27 UTC 2017 Modified Files: src/sys/arch/ia64/include: Makefile ieeefp.h Added Files: src/sys/arch/ia64/include: fenv.h Log Message: Add fenv.h for ia64, imported from FreeBSD, compile tested only. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/Makefile cvs rdiff -u -r0 -r1.1 src/sys/arch/ia64/include/fenv.h cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/ieeefp.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/Makefile diff -u src/sys/arch/ia64/include/Makefile:1.7 src/sys/arch/ia64/include/Makefile:1.8 --- src/sys/arch/ia64/include/Makefile:1.7 Fri Aug 5 16:56:43 2016 +++ src/sys/arch/ia64/include/Makefile Thu Feb 23 02:03:27 2017 @@ -1,11 +1,11 @@ -# $NetBSD: Makefile,v 1.7 2016/08/05 16:56:43 scole Exp $ +# $NetBSD: Makefile,v 1.8 2017/02/23 02:03:27 scole Exp $ INCSDIR= /usr/include/ia64 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 \ + cpu.h cpufunc.h dig64.h disklabel.h efi.h elf_machdep.h \ + endian.h endian_machdep.h fenv.h float.h fpu.h frame.h \ ia64_cpu.h ieee.h ieeefp.h int_const.h int_fmtio.h int_limits.h \ int_mwgwtypes.h int_types.h intr.h limits.h \ loadfile_machdep.h lock.h math.h mca_machdep.h mcontext.h md_var.h \ Index: src/sys/arch/ia64/include/ieeefp.h diff -u src/sys/arch/ia64/include/ieeefp.h:1.1 src/sys/arch/ia64/include/ieeefp.h:1.2 --- src/sys/arch/ia64/include/ieeefp.h:1.1 Wed Dec 26 19:43:10 2012 +++ src/sys/arch/ia64/include/ieeefp.h Thu Feb 23 02:03:27 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: ieeefp.h,v 1.1 2012/12/26 19:43:10 martin Exp $ */ +/* $NetBSD: ieeefp.h,v 1.2 2017/02/23 02:03:27 scole Exp $ */ /* * Written by J.T. Conklin, Apr 28, 1995 @@ -12,26 +12,19 @@ #if defined(_NETBSD_SOURCE) || defined(_ISOC99_SOURCE) -typedef int fenv_t; -typedef int fexcept_t; - -#define FE_INVALID 0x01 /* invalid operation exception */ -#define FE_DIVBYZERO 0x02 /* divide-by-zero exception */ -#define FE_OVERFLOW 0x04 /* overflow exception */ -#define FE_UNDERFLOW 0x08 /* underflow exception */ -#define FE_INEXACT 0x10 /* imprecise (loss of precision; "inexact") */ -#define FE_IOVERFLOW 0x20/* integer overflow */ - -#define FE_ALL_EXCEPT 0x3f +#include /* * These bits match the fpcr as well as bits 12:11 * in fp operate instructions */ +/* XXX remove since fenv.h now contains (but with different values)? */ +#if 0 #define FE_TOWARDZERO 0 /* round to zero (truncate) */ #define FE_DOWNWARD 1 /* round toward negative infinity */ #define FE_TONEAREST 2 /* round to nearest representable number */ #define FE_UPWARD 3 /* round toward positive infinity */ +#endif #if !defined(_ISOC99_SOURCE) Added files: Index: src/sys/arch/ia64/include/fenv.h diff -u /dev/null src/sys/arch/ia64/include/fenv.h:1.1 --- /dev/null Thu Feb 23 02:03:27 2017 +++ src/sys/arch/ia64/include/fenv.h Thu Feb 23 02:03:27 2017 @@ -0,0 +1,248 @@ +/*- + * Copyright (c) 2004-2005 David Schultz+ * 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. + * + * $FreeBSD: releng/10.1/lib/msun/ia64/fenv.h 226218 2011-10-10 15:43:09Z das $ + */ + +#ifndef _IA64_FENV_H_ +#define _IA64_FENV_H_ + +#include + +#ifndef __fenv_static +#define __fenv_static static +#endif + +typedef __uint64_t fenv_t; +typedef __uint16_t fexcept_t; + +/* Exception flags */ +#define FE_INVALID 0x01 +#define FE_DENORMAL 0x02 +#define
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Thu Feb 23 02:03:27 UTC 2017 Modified Files: src/sys/arch/ia64/include: Makefile ieeefp.h Added Files: src/sys/arch/ia64/include: fenv.h Log Message: Add fenv.h for ia64, imported from FreeBSD, compile tested only. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/Makefile cvs rdiff -u -r0 -r1.1 src/sys/arch/ia64/include/fenv.h cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/ieeefp.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: christos Date: Wed Feb 8 18:01:12 UTC 2017 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: __empty -> __nothing To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: christos Date: Wed Feb 8 18:01:12 UTC 2017 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: __empty -> __nothing To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/cpu.h diff -u src/sys/arch/ia64/include/cpu.h:1.14 src/sys/arch/ia64/include/cpu.h:1.15 --- src/sys/arch/ia64/include/cpu.h:1.14 Wed Feb 8 11:14:08 2017 +++ src/sys/arch/ia64/include/cpu.h Wed Feb 8 13:01:12 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.14 2017/02/08 16:14:08 christos Exp $ */ +/* $NetBSD: cpu.h,v 1.15 2017/02/08 18:01:12 christos Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -155,7 +155,7 @@ struct clockframe { * out what to do about this.. XXX. */ /* extern void cpu_need_proftick(struct lwp *l); */ -#define cpu_need_proftick(l) __empty +#define cpu_need_proftick(l) __nothing /* * Notify the LWP l that it has a signal pending, process as soon as possible. @@ -168,14 +168,14 @@ struct clockframe { __USE(f); \ } while(/*CONSTCOND*/0) -#define setsoftclock()__empty /*XXX: FIXME */ +#define setsoftclock()__nothing /*XXX: FIXME */ /* machdep.c */ int cpu_maxproc(void); /*XXX: Fill in machdep.c */ -#define cpu_proc_fork(p1, p2) __empty /* XXX: Look into this. */ +#define cpu_proc_fork(p1, p2) __nothing /* XXX: Look into this. */ -#define DELAY(x) __empty /* XXX: FIXME */ +#define DELAY(x) __nothing /* XXX: FIXME */ static inline void cpu_idle(void); static inline
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: christos Date: Wed Feb 8 16:14:08 UTC 2017 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: don't define __empty. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: christos Date: Wed Feb 8 16:14:08 UTC 2017 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: don't define __empty. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/cpu.h diff -u src/sys/arch/ia64/include/cpu.h:1.13 src/sys/arch/ia64/include/cpu.h:1.14 --- src/sys/arch/ia64/include/cpu.h:1.13 Sat Jan 14 11:12:51 2017 +++ src/sys/arch/ia64/include/cpu.h Wed Feb 8 11:14:08 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.13 2017/01/14 16:12:51 christos Exp $ */ +/* $NetBSD: cpu.h,v 1.14 2017/02/08 16:14:08 christos Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -149,7 +149,6 @@ struct clockframe { #define TRAPF_CPL(tf) ((tf)->tf_special.psr & IA64_PSR_CPL) #define TRAPF_USERMODE(tf) (TRAPF_CPL(tf) != IA64_PSR_CPL_KERN) -#define __empty do { } while (/*CONSTCOND*/0) /* * Give a profiling tick to the current process when the user profiling * buffer pages are invalid. XXX:Fixme On the ia64 I haven't yet figured
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: christos Date: Sat Jan 14 16:12:51 UTC 2017 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: define empty bodies for incomplete implementations To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/cpu.h diff -u src/sys/arch/ia64/include/cpu.h:1.12 src/sys/arch/ia64/include/cpu.h:1.13 --- src/sys/arch/ia64/include/cpu.h:1.12 Sat Nov 9 19:50:13 2013 +++ src/sys/arch/ia64/include/cpu.h Sat Jan 14 11:12:51 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.12 2013/11/10 00:50:13 christos Exp $ */ +/* $NetBSD: cpu.h,v 1.13 2017/01/14 16:12:51 christos Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -149,13 +149,14 @@ struct clockframe { #define TRAPF_CPL(tf) ((tf)->tf_special.psr & IA64_PSR_CPL) #define TRAPF_USERMODE(tf) (TRAPF_CPL(tf) != IA64_PSR_CPL_KERN) +#define __empty do { } while (/*CONSTCOND*/0) /* * Give a profiling tick to the current process when the user profiling * buffer pages are invalid. XXX:Fixme On the ia64 I haven't yet figured * out what to do about this.. XXX. */ /* extern void cpu_need_proftick(struct lwp *l); */ -#define cpu_need_proftick(l) +#define cpu_need_proftick(l) __empty /* * Notify the LWP l that it has a signal pending, process as soon as possible. @@ -168,14 +169,14 @@ struct clockframe { __USE(f); \ } while(/*CONSTCOND*/0) -#define setsoftclock() /*XXX: FIXME */ +#define setsoftclock()__empty /*XXX: FIXME */ /* machdep.c */ int cpu_maxproc(void); /*XXX: Fill in machdep.c */ -#define cpu_proc_fork(p1, p2) /* XXX: Look into this. */ +#define cpu_proc_fork(p1, p2) __empty /* XXX: Look into this. */ -#define DELAY(x) /* XXX: FIXME */ +#define DELAY(x) __empty /* XXX: FIXME */ static inline void cpu_idle(void); static inline
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: christos Date: Sat Jan 14 16:12:51 UTC 2017 Modified Files: src/sys/arch/ia64/include: cpu.h Log Message: define empty bodies for incomplete implementations To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/ia64/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Tue Aug 9 13:45:45 UTC 2016 Modified Files: src/sys/arch/ia64/include: atomic.h Log Message: Rename some functions so any atomic ops from this file and/or can be used. May want to pare overlap in the future, but let's leave both options for now To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/atomic.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/atomic.h diff -u src/sys/arch/ia64/include/atomic.h:1.2 src/sys/arch/ia64/include/atomic.h:1.3 --- src/sys/arch/ia64/include/atomic.h:1.2 Mon Aug 8 17:44:24 2016 +++ src/sys/arch/ia64/include/atomic.h Tue Aug 9 13:45:45 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic.h,v 1.2 2016/08/08 17:44:24 scole Exp $ */ +/* $NetBSD: atomic.h,v 1.3 2016/08/09 13:45:45 scole Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -28,14 +28,8 @@ * $FreeBSD: releng/10.1/sys/ia64/include/atomic.h 262004 2014-02-16 23:08:21Z marcel $ */ -#ifndef _MACHINE_ATOMIC_H_ -#define _MACHINE_ATOMIC_H_ - -/* XXX need these? -#define mb() __asm __volatile("mf") -#define wmb() mb() -#define rmb() mb() -*/ +#ifndef _IA64_ATOMIC_H_ +#define _IA64_ATOMIC_H_ /* * Various simple arithmetic on memory which is atomic in the presence @@ -391,20 +385,11 @@ atomic_fetchadd_long(volatile u_long *p, } /* - * XXX already defined in - * src/common/lib/libc/arch/ia64/atomic/atomic.S. Need to sort out - * what to do with this file and atomic.S. atomic.S version comments - * (from 2008) say it is not tested at all, but if it works we may not - * need anything in this file? - */ -#if 0 - -/* * atomic_swap_(volatile *p, v); */ static __inline uint32_t -atomic_swap_32(volatile uint32_t *p, uint32_t v) +ia64_atomic_swap_32(volatile uint32_t *p, uint32_t v) { uint32_t r; @@ -414,7 +399,7 @@ atomic_swap_32(volatile uint32_t *p, uin } static __inline uint64_t -atomic_swap_64(volatile uint64_t *p, uint64_t v) +ia64_atomic_swap_64(volatile uint64_t *p, uint64_t v) { uint64_t r; @@ -422,10 +407,9 @@ atomic_swap_64(volatile uint64_t *p, uin "r"(v), "m"(*p) : "memory"); return (r); } -#endif -#define atomic_swap_int atomic_swap_32 -#define atomic_swap_long atomic_swap_64 -#define atomic_swap_ptr atomic_swap_64 +#define ia64_atomic_swap_int ia64_atomic_swap_32 +#define ia64_atomic_swap_long ia64_atomic_swap_64 +#define ia64_atomic_swap_ptr ia64_atomic_swap_64 -#endif /* ! _MACHINE_ATOMIC_H_ */ +#endif /* ! _IA64_ATOMIC_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Tue Aug 9 13:45:45 UTC 2016 Modified Files: src/sys/arch/ia64/include: atomic.h Log Message: Rename some functions so any atomic ops from this file and/or can be used. May want to pare overlap in the future, but let's leave both options for now To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/atomic.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Aug 8 17:44:24 UTC 2016 Modified Files: src/sys/arch/ia64/include: atomic.h Log Message: Import later FreeBSD version, add note about atomic.S which contains similar functions. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/atomic.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Aug 8 17:44:24 UTC 2016 Modified Files: src/sys/arch/ia64/include: atomic.h Log Message: Import later FreeBSD version, add note about atomic.S which contains similar functions. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/atomic.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/atomic.h diff -u src/sys/arch/ia64/include/atomic.h:1.1 src/sys/arch/ia64/include/atomic.h:1.2 --- src/sys/arch/ia64/include/atomic.h:1.1 Fri Apr 7 14:21:18 2006 +++ src/sys/arch/ia64/include/atomic.h Mon Aug 8 17:44:24 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */ +/* $NetBSD: atomic.h,v 1.2 2016/08/08 17:44:24 scole Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -25,12 +25,18 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/atomic.h,v 1.10 2005/09/27 17:39:10 jhb Exp $ + * $FreeBSD: releng/10.1/sys/ia64/include/atomic.h 262004 2014-02-16 23:08:21Z marcel $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ +/* XXX need these? +#define mb() __asm __volatile("mf") +#define wmb() mb() +#define rmb() mb() +*/ + /* * Various simple arithmetic on memory which is atomic in the presence * of interrupts and SMP safe. @@ -44,7 +50,7 @@ "mov ar.ccv=%2;;\n\t" \ "cmpxchg" #sz "." #sem " %0=%4,%3,ar.ccv\n\t" \ : "=r" (ret), "=m" (*p) \ - : "r" (cmpval), "r" (newval), "m" (*p) \ + : "r" ((uint64_t)cmpval), "r" (newval), "m" (*p) \ : "memory") /* @@ -140,8 +146,11 @@ ATOMIC_STORE_LOAD(long, 64, "8") #undef ATOMIC_STORE_LOAD -#define atomic_load_acq_ptr atomic_load_acq_64 -#define atomic_store_rel_ptr atomic_store_rel_64 +#define atomic_load_acq_ptr(p) \ +((void *)atomic_load_acq_64((volatile uint64_t *)p)) + +#define atomic_store_rel_ptr(p, v) \ +atomic_store_rel_64((volatile uint64_t *)p, (uint64_t)v) #define IA64_ATOMIC(sz, type, name, width, op)\ static __inline type \ @@ -260,6 +269,7 @@ IA64_ATOMIC(8, uint64_t, subtract, 64, - #define atomic_add_rel_long atomic_add_rel_64 #define atomic_subtract_rel_long atomic_subtract_rel_64 +/* XXX Needs casting. */ #define atomic_set_ptr atomic_set_64 #define atomic_clear_ptr atomic_clear_64 #define atomic_add_ptr atomic_add_64 @@ -313,13 +323,18 @@ atomic_cmpset_rel_64(volatile uint64_t* #define atomic_cmpset_64 atomic_cmpset_acq_64 #define atomic_cmpset_int atomic_cmpset_32 #define atomic_cmpset_long atomic_cmpset_64 -#define atomic_cmpset_ptr atomic_cmpset_64 #define atomic_cmpset_acq_int atomic_cmpset_acq_32 #define atomic_cmpset_rel_int atomic_cmpset_rel_32 #define atomic_cmpset_acq_long atomic_cmpset_acq_64 #define atomic_cmpset_rel_long atomic_cmpset_rel_64 -#define atomic_cmpset_acq_ptr atomic_cmpset_acq_64 -#define atomic_cmpset_rel_ptr atomic_cmpset_rel_64 + +#define atomic_cmpset_acq_ptr(p, o, n) \ +(atomic_cmpset_acq_64((volatile uint64_t *)p, (uint64_t)o, (uint64_t)n)) + +#define atomic_cmpset_ptr atomic_cmpset_acq_ptr + +#define atomic_cmpset_rel_ptr(p, o, n) \ +(atomic_cmpset_rel_64((volatile uint64_t *)p, (uint64_t)o, (uint64_t)n)) static __inline uint32_t atomic_readandclear_32(volatile uint32_t* p) @@ -343,6 +358,7 @@ atomic_readandclear_64(volatile uint64_t #define atomic_readandclear_int atomic_readandclear_32 #define atomic_readandclear_long atomic_readandclear_64 +#define atomic_readandclear_ptr atomic_readandclear_64 /* * Atomically add the value of v to the integer pointed to by p and return @@ -363,4 +379,53 @@ atomic_fetchadd_32(volatile uint32_t *p, #define atomic_fetchadd_int atomic_fetchadd_32 +static __inline u_long +atomic_fetchadd_long(volatile u_long *p, u_long v) +{ + u_long value; + + do { + value = *p; + } while (!atomic_cmpset_64(p, value, value + v)); + return (value); +} + +/* + * XXX already defined in + * src/common/lib/libc/arch/ia64/atomic/atomic.S. Need to sort out + * what to do with this file and atomic.S. atomic.S version comments + * (from 2008) say it is not tested at all, but if it works we may not + * need anything in this file? + */ +#if 0 + +/* + * atomic_swap_(volatile *p, v); + */ + +static __inline uint32_t +atomic_swap_32(volatile uint32_t *p, uint32_t v) +{ + uint32_t r; + + __asm __volatile ("xchg4 %0 = %3, %2;;" : "=r"(r), "=m"(*p) : + "r"(v), "m"(*p) : "memory"); + return (r); +} + +static __inline uint64_t +atomic_swap_64(volatile uint64_t *p, uint64_t v) +{ + uint64_t r; + + __asm __volatile ("xchg8 %0 = %3, %2;;" : "=r"(r), "=m"(*p) : + "r"(v), "m"(*p) : "memory"); + return (r); +} +#endif + +#define atomic_swap_int atomic_swap_32 +#define atomic_swap_long atomic_swap_64 +#define atomic_swap_ptr atomic_swap_64 + #endif /* !
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Aug 8 17:20:17 UTC 2016 Modified Files: src/sys/arch/ia64/include: pte.h Log Message: Remove unused functions pte_atomic_clear() and pte_atomic_set() To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/pte.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Aug 8 17:20:17 UTC 2016 Modified Files: src/sys/arch/ia64/include: pte.h Log Message: Remove unused functions pte_atomic_clear() and pte_atomic_set() To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/pte.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/pte.h diff -u src/sys/arch/ia64/include/pte.h:1.3 src/sys/arch/ia64/include/pte.h:1.4 --- src/sys/arch/ia64/include/pte.h:1.3 Fri Aug 5 17:02:59 2016 +++ src/sys/arch/ia64/include/pte.h Mon Aug 8 17:20:17 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: pte.h,v 1.3 2016/08/05 17:02:59 scole Exp $ */ +/* $NetBSD: pte.h,v 1.4 2016/08/08 17:20:17 scole Exp $ */ /*- * Copyright (c) 2001 Doug Rabson @@ -70,28 +70,14 @@ typedef uint64_t pt_entry_t; -#ifdef _KERNEL -static __inline pt_entry_t -pte_atomic_clear(pt_entry_t *ptep, uint64_t val) -{ - return (atomic_clear_64(ptep, val)); -} - -static __inline pt_entry_t -pte_atomic_set(pt_entry_t *ptep, uint64_t val) -{ - return (atomic_set_64(ptep, val)); -} -#endif - /* * A long-format VHPT entry. */ struct ia64_lpte { -pt_entry_t pte; -uint64_titir; -uint64_ttag;/* includes ti */ -uint64_tchain; /* pa of collision chain */ + pt_entry_t pte; + uint64_t itir; + uint64_t tag; /* includes ti */ + uint64_t chain; /* pa of collision chain */ }; /*
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Aug 8 12:25:35 UTC 2016 Modified Files: src/sys/arch/ia64/include: ia64_cpu.h Log Message: Import FreeBSD update To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/ia64_cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/ia64_cpu.h diff -u src/sys/arch/ia64/include/ia64_cpu.h:1.2 src/sys/arch/ia64/include/ia64_cpu.h:1.3 --- src/sys/arch/ia64/include/ia64_cpu.h:1.2 Mon Jul 20 04:41:37 2009 +++ src/sys/arch/ia64/include/ia64_cpu.h Mon Aug 8 12:25:35 2016 @@ -1,6 +1,7 @@ -/* $NetBSD: ia64_cpu.h,v 1.2 2009/07/20 04:41:37 kiyohara Exp $ */ +/* $NetBSD: ia64_cpu.h,v 1.3 2016/08/08 12:25:35 scole Exp $ */ /*- + * Copyright (c) 2007 Marcel Moolenaar * Copyright (c) 2000 Doug Rabson * All rights reserved. * @@ -25,13 +26,37 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: releng/10.1/sys/ia64/include/ia64_cpu.h 223170 2011-06-17 04:26:03Z marcel $ */ #ifndef _MACHINE_IA64_CPU_H_ #define _MACHINE_IA64_CPU_H_ /* + * Local Interrupt ID. + */ +#define IA64_LID_GET_SAPIC_ID(x) ((u_int)((x) >> 16) & 0x) +#define IA64_LID_SET_SAPIC_ID(x) ((u_int)((x) & 0x) << 16) + +/* + * Definition of DCR bits. + */ +#define IA64_DCR_PP 0x0001 +#define IA64_DCR_BE 0x0002 +#define IA64_DCR_LC 0x0004 +#define IA64_DCR_DM 0x0100 +#define IA64_DCR_DP 0x0200 +#define IA64_DCR_DK 0x0400 +#define IA64_DCR_DX 0x0800 +#define IA64_DCR_DR 0x1000 +#define IA64_DCR_DA 0x2000 +#define IA64_DCR_DD 0x4000 + +#define IA64_DCR_DEFAULT \ +(IA64_DCR_DM | IA64_DCR_DP | IA64_DCR_DK | IA64_DCR_DX | \ + IA64_DCR_DR | IA64_DCR_DA | IA64_DCR_DD) + +/* * Definition of PSR and IPSR bits. */ #define IA64_PSR_BE 0x0002 @@ -180,10 +205,6 @@ ia64_fc(uint64_t va) __asm __volatile("fc %0" :: "r"(va)); } -/* - * Flush Instruction Cache - */ - static __inline void ia64_fc_i(uint64_t va) { @@ -238,7 +259,7 @@ ia64_tpa(uint64_t va) static __inline void ia64_ptc_e(uint64_t v) { - __asm __volatile("ptc.e %0;; srlz.d;;" :: "r"(v)); + __asm __volatile("ptc.e %0;; srlz.i;;" :: "r"(v)); } /* @@ -247,7 +268,7 @@ ia64_ptc_e(uint64_t v) static __inline void ia64_ptc_g(uint64_t va, uint64_t log2size) { - __asm __volatile("ptc.g %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size)); + __asm __volatile("ptc.g %0,%1;;" :: "r"(va), "r"(log2size)); } /* @@ -256,7 +277,7 @@ ia64_ptc_g(uint64_t va, uint64_t log2siz static __inline void ia64_ptc_ga(uint64_t va, uint64_t log2size) { - __asm __volatile("ptc.ga %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size)); + __asm __volatile("ptc.ga %0,%1;;" :: "r"(va), "r"(log2size)); } /* @@ -265,7 +286,84 @@ ia64_ptc_ga(uint64_t va, uint64_t log2si static __inline void ia64_ptc_l(uint64_t va, uint64_t log2size) { - __asm __volatile("ptc.l %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size)); + __asm __volatile("ptc.l %0,%1;; srlz.i;;" :: "r"(va), "r"(log2size)); +} + +/* + * Invalidate the ALAT on the local processor. + */ +static __inline void +ia64_invala(void) +{ + __asm __volatile("invala;;"); +} + +/* + * Unordered memory load. + */ + +static __inline uint8_t +ia64_ld1(uint8_t *p) +{ + uint8_t v; + + __asm __volatile("ld1 %0=[%1];;" : "=r"(v) : "r"(p)); + return (v); +} + +static __inline uint16_t +ia64_ld2(uint16_t *p) +{ + uint16_t v; + + __asm __volatile("ld2 %0=[%1];;" : "=r"(v) : "r"(p)); + return (v); +} + +static __inline uint32_t +ia64_ld4(uint32_t *p) +{ + uint32_t v; + + __asm __volatile("ld4 %0=[%1];;" : "=r"(v) : "r"(p)); + return (v); +} + +static __inline uint64_t +ia64_ld8(uint64_t *p) +{ + uint64_t v; + + __asm __volatile("ld8 %0=[%1];;" : "=r"(v) : "r"(p)); + return (v); +} + +/* + * Unordered memory store. + */ + +static __inline void +ia64_st1(uint8_t *p, uint8_t v) +{ + __asm __volatile("st1 [%0]=%1;;" :: "r"(p), "r"(v)); +} + +static __inline void +ia64_st2(uint16_t *p, uint16_t v) +{ + __asm __volatile("st2 [%0]=%1;;" :: "r"(p), "r"(v)); +} + +static __inline void +ia64_st4(uint32_t *p, uint32_t v) +{ + __asm __volatile("st4 [%0]=%1;;" :: "r"(p), "r"(v)); +} + +static __inline void +ia64_st8(uint64_t *p, uint64_t v) +{ + __asm __volatile("st8 [%0]=%1;;" :: "r"(p), "r"(v)); } /* @@ -393,7 +491,7 @@ IA64_CR(lrr1) static __inline void ia64_set_rr(uint64_t rrbase, uint64_t v) { - __asm __volatile("mov rr[%0]=%1;; srlz.d;;" + __asm __volatile("mov rr[%0]=%1" :: "r"(rrbase), "r"(v) : "memory"); } @@ -421,17 +519,14 @@ ia64_enable_highfp(void) __asm __volatile("rsm psr.dfh;; srlz.d"); } -static __inline void -ia64_srlz_d(void) -{ - __asm __volatile("srlz.d"); -} - -static __inline void
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Mon Aug 8 12:25:35 UTC 2016 Modified Files: src/sys/arch/ia64/include: ia64_cpu.h Log Message: Import FreeBSD update To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/ia64_cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Sat Aug 6 21:13:30 UTC 2016 Modified Files: src/sys/arch/ia64/include: vmparam.h Log Message: Remove unused include of sys/tree.h To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/vmparam.h diff -u src/sys/arch/ia64/include/vmparam.h:1.8 src/sys/arch/ia64/include/vmparam.h:1.9 --- src/sys/arch/ia64/include/vmparam.h:1.8 Fri Aug 5 17:04:16 2016 +++ src/sys/arch/ia64/include/vmparam.h Sat Aug 6 21:13:30 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.8 2016/08/05 17:04:16 scole Exp $ */ +/* $NetBSD: vmparam.h,v 1.9 2016/08/06 21:13:30 martin Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -37,8 +37,6 @@ #ifndef _VMPARAM_H_ #define _VMPARAM_H_ -#include - #define USRSTACK VM_MAX_ADDRESS /* XXX: Revisit vm address space. */ /*
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Sat Aug 6 21:13:30 UTC 2016 Modified Files: src/sys/arch/ia64/include: vmparam.h Log Message: Remove unused include of sys/tree.h To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/ia64/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 17:04:16 UTC 2016 Modified Files: src/sys/arch/ia64/include: vmparam.h Log Message: PR port-ia64/51261 Import more variables from FreeBSD that will be needed later To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/vmparam.h diff -u src/sys/arch/ia64/include/vmparam.h:1.7 src/sys/arch/ia64/include/vmparam.h:1.8 --- src/sys/arch/ia64/include/vmparam.h:1.7 Sun Nov 14 13:33:22 2010 +++ src/sys/arch/ia64/include/vmparam.h Fri Aug 5 17:04:16 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.7 2010/11/14 13:33:22 uebayasi Exp $ */ +/* $NetBSD: vmparam.h,v 1.8 2016/08/05 17:04:16 scole Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -63,7 +63,7 @@ #define SGROWSIZ (128UL*1024) /* amount to grow stack */ #endif - +#define IA64_VM_MINKERN_REGION 4 /* * PTEs for mapping user space into the kernel for phyio operations. @@ -82,6 +82,53 @@ #define IA64_PHYS_TO_RR6(x) ((x) | IA64_RR_BASE(6)) #define IA64_PHYS_TO_RR7(x) ((x) | IA64_RR_BASE(7)) +/* + * The Itanium architecture defines that all implementations support at + * least 51 virtual address bits (i.e. IMPL_VA_MSB=50). The unimplemented + * bits are sign-extended from VA{IMPL_VA_MSB}. As such, there's a gap in + * the virtual address range, which extends at most from 0x0004 + * to 0x1ffb. We define the top half of a region in terms of + * this worst-case gap. + */ +#define IA64_REGION_GAP_START 0x0004 +#define IA64_REGION_GAP_EXTEND 0x1ffc + +/* + * Parameters for Pre-Boot Virtual Memory (PBVM). + * The kernel, its modules and metadata are loaded in the PBVM by the loader. + * The PBVM consists of pages for which the mapping is maintained in a page + * table. The page table is at least 1 EFI page large (i.e. 4KB), but can be + * larger to accommodate more PBVM. The maximum page table size is 1MB. With + * 8 bytes per page table entry, this means that the PBVM has at least 512 + * pages and at most 128K pages. + * The GNU toolchain (in particular GNU ld) does not support an alignment + * larger than 64K. This means that we cannot guarantee page alignment for + * a page size that's larger than 64K. We do want to have text and data in + * different pages, which means that the maximum usable page size is 64KB. + * Consequently: + * The maximum total PBVM size is 8GB -- enough for a DVD image. A page table + * of a single EFI page (4KB) allows for 32MB of PBVM. + * + * The kernel is given the PA and size of the page table that provides the + * mapping of the PBVM. The page table itself is assumed to be mapped at a + * known virtual address and using a single translation wired into the CPU. + * As such, the page table is assumed to be a power of 2 and naturally aligned. + * The kernel also assumes that a good portion of the kernel text is mapped + * and wired into the CPU, but does not assume that the mapping covers the + * whole of PBVM. + */ +#define IA64_PBVM_RRIA64_VM_MINKERN_REGION +#define IA64_PBVM_BASE \ +(IA64_RR_BASE(IA64_PBVM_RR) + IA64_REGION_GAP_EXTEND) + +#define IA64_PBVM_PGTBL_MAXSZ 1048576 +#define IA64_PBVM_PGTBL \ +(IA64_RR_BASE(IA64_PBVM_RR + 1) - IA64_PBVM_PGTBL_MAXSZ) + +#define IA64_PBVM_PAGE_SHIFT16 /* 64KB */ +#define IA64_PBVM_PAGE_SIZE (1 << IA64_PBVM_PAGE_SHIFT) +#define IA64_PBVM_PAGE_MASK (IA64_PBVM_PAGE_SIZE - 1) + #define IA64_ID_PAGE_SHIFT 28 /* 256M */ #define IA64_ID_PAGE_SIZE (1 << IA64_ID_PAGE_SHIFT) #define IA64_ID_PAGE_MASK (IA64_ID_PAGE_SIZE-1)
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 17:04:16 UTC 2016 Modified Files: src/sys/arch/ia64/include: vmparam.h Log Message: PR port-ia64/51261 Import more variables from FreeBSD that will be needed later To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ia64/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 17:02:59 UTC 2016 Modified Files: src/sys/arch/ia64/include: pte.h Log Message: PR port-ia64/51261 Sync with FreeBSD, no functional changes To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/pte.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 17:02:59 UTC 2016 Modified Files: src/sys/arch/ia64/include: pte.h Log Message: PR port-ia64/51261 Sync with FreeBSD, no functional changes To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/pte.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/pte.h diff -u src/sys/arch/ia64/include/pte.h:1.2 src/sys/arch/ia64/include/pte.h:1.3 --- src/sys/arch/ia64/include/pte.h:1.2 Thu Dec 27 15:58:55 2012 +++ src/sys/arch/ia64/include/pte.h Fri Aug 5 17:02:59 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: pte.h,v 1.2 2012/12/27 15:58:55 martin Exp $ */ +/* $NetBSD: pte.h,v 1.3 2016/08/05 17:02:59 scole Exp $ */ /*- * Copyright (c) 2001 Doug Rabson @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: releng/10.1/sys/ia64/include/pte.h 137978 2004-11-21 21:40:08Z marcel $ */ #ifndef _MACHINE_PTE_H_ @@ -45,7 +45,6 @@ #define PTE_PL_KERN 0x #define PTE_PL_USER 0x0180 #define PTE_AR_MASK 0x0E00 - #define PTE_AR_R 0x #define PTE_AR_RX 0x0200 #define PTE_AR_RW 0x0400 @@ -95,7 +94,6 @@ struct ia64_lpte { uint64_tchain; /* pa of collision chain */ }; - /* * Layout of rr[x]. */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 17:01:56 UTC 2016 Modified Files: src/sys/arch/ia64/include: pci_machdep.h Log Message: PR port-ia64/51261 Add pci_enumerate_bus To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/pci_machdep.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/pci_machdep.h diff -u src/sys/arch/ia64/include/pci_machdep.h:1.2 src/sys/arch/ia64/include/pci_machdep.h:1.3 --- src/sys/arch/ia64/include/pci_machdep.h:1.2 Mon Jun 28 12:14:08 2010 +++ src/sys/arch/ia64/include/pci_machdep.h Fri Aug 5 17:01:56 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: pci_machdep.h,v 1.2 2010/06/28 12:14:08 kiyohara Exp $ */ +/* $NetBSD: pci_machdep.h,v 1.3 2016/08/05 17:01:56 scole Exp $ */ /* * Copyright (c) 2010 KIYOHARA Takashi * All rights reserved. @@ -42,4 +42,13 @@ void pci_decompose_tag(pci_chipset_tag_t 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
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 17:01:56 UTC 2016 Modified Files: src/sys/arch/ia64/include: pci_machdep.h Log Message: PR port-ia64/51261 Add pci_enumerate_bus To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/pci_machdep.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 17:01:13 UTC 2016 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: PR port-ia64/51261 Add __fpregset_t __gregset_t _UC_MACHINE_PC stubs To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 17:01:13 UTC 2016 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: PR port-ia64/51261 Add __fpregset_t __gregset_t _UC_MACHINE_PC stubs To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.4 src/sys/arch/ia64/include/mcontext.h:1.5 --- src/sys/arch/ia64/include/mcontext.h:1.4 Thu Jun 30 01:41:05 2016 +++ src/sys/arch/ia64/include/mcontext.h Fri Aug 5 17:01:13 2016 @@ -1,9 +1,11 @@ -/* $NetBSD: mcontext.h,v 1.4 2016/06/30 01:41:05 mrg Exp $ */ +/* $NetBSD: mcontext.h,v 1.5 2016/08/05 17:01:13 scole Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. * + * Copyright (c) 1999, 2003 Marcel Moolenaar + * * This code is derived from software contributed to The NetBSD Foundation * by Klaus Klein. * @@ -15,6 +17,8 @@ * 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -34,6 +38,19 @@ #include +/* 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 +97,6 @@ typedef struct __mcontext { 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,10 +105,15 @@ typedef struct __mcontext { 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; #define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.mc_special.sp) -#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.rp) +/* XXX or assembly "mov Rn = ip" or ...? */ +#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.iip) static __inline void * __lwp_getprivate_fast(void)
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 16:59:26 UTC 2016 Modified Files: src/sys/arch/ia64/include: lock.h Log Message: PR port-ia64/51261 Add mb_read mb_write mb_memory To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/lock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/lock.h diff -u src/sys/arch/ia64/include/lock.h:1.4 src/sys/arch/ia64/include/lock.h:1.5 --- src/sys/arch/ia64/include/lock.h:1.4 Mon Jul 20 04:41:37 2009 +++ src/sys/arch/ia64/include/lock.h Fri Aug 5 16:59:26 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: lock.h,v 1.4 2009/07/20 04:41:37 kiyohara Exp $ */ +/* $NetBSD: lock.h,v 1.5 2016/08/05 16:59:26 scole Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -116,4 +116,26 @@ __cpu_simple_unlock(__cpu_simple_lock_t *lockp = __SIMPLELOCK_UNLOCKED; } +/* XXX mf.a overkill for these? */ +static __inline void +mb_read(void) +{ + __asm __volatile("mf.a \n" + "mf \n" ::: "memory"); +} + +static __inline void +mb_write(void) +{ + __asm __volatile("mf.a \n" + "mf \n" ::: "memory"); +} + +static __inline void +mb_memory(void) +{ + __asm __volatile("mf.a \n" + "mf \n" ::: "memory"); +} + #endif /* _IA64_LOCK_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 16:59:26 UTC 2016 Modified Files: src/sys/arch/ia64/include: lock.h Log Message: PR port-ia64/51261 Add mb_read mb_write mb_memory To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/lock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 16:58:33 UTC 2016 Modified Files: src/sys/arch/ia64/include: elf_machdep.h Log Message: PR port-ia64/51261 Add macro R_TYPE() stub To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/elf_machdep.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/elf_machdep.h diff -u src/sys/arch/ia64/include/elf_machdep.h:1.1 src/sys/arch/ia64/include/elf_machdep.h:1.2 --- src/sys/arch/ia64/include/elf_machdep.h:1.1 Fri Apr 7 14:21:18 2006 +++ src/sys/arch/ia64/include/elf_machdep.h Fri Aug 5 16:58:33 2016 @@ -27,7 +27,8 @@ * * $FreeBSD: src/sys/ia64/include/elf.h,v 1.11 2003/09/25 01:10:24 peter Exp $ */ - +#ifndef _IA64_ELF_MACHDEP_H +#define _IA64_ELF_MACHDEP_H #define ELF32_MACHDEP_ENDIANNESS XXX /* break compilation */ #define ELF32_MACHDEP_ID_CASES \ @@ -145,6 +146,8 @@ #define SHF_IA_64_NORECOV 0x2000 /* section contains code that uses speculative instructions without * recovery code */ +/* XXX fix these for ld.elf_so */ +#define R_IA64_COPY (0) +#define R_TYPE(name)__CONCAT(R_IA64_,name) - - +#endif /* _IA64_ELF_MACHDEP_H */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 16:58:33 UTC 2016 Modified Files: src/sys/arch/ia64/include: elf_machdep.h Log Message: PR port-ia64/51261 Add macro R_TYPE() stub To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/elf_machdep.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 16:56:44 UTC 2016 Modified Files: src/sys/arch/ia64/include: Makefile Removed Files: src/sys/arch/ia64/include: acpi_func.h Log Message: PR port-ia64/51261 Remove local acpi_func.h as common version exists To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/Makefile cvs rdiff -u -r1.4 -r0 src/sys/arch/ia64/include/acpi_func.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/Makefile diff -u src/sys/arch/ia64/include/Makefile:1.6 src/sys/arch/ia64/include/Makefile:1.7 --- src/sys/arch/ia64/include/Makefile:1.6 Fri Jun 20 12:41:34 2014 +++ src/sys/arch/ia64/include/Makefile Fri Aug 5 16:56:43 2016 @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.6 2014/06/20 12:41:34 joerg Exp $ +# $NetBSD: Makefile,v 1.7 2016/08/05 16:56:43 scole Exp $ 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 \
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: scole Date: Fri Aug 5 16:56:44 UTC 2016 Modified Files: src/sys/arch/ia64/include: Makefile Removed Files: src/sys/arch/ia64/include: acpi_func.h Log Message: PR port-ia64/51261 Remove local acpi_func.h as common version exists To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/Makefile cvs rdiff -u -r1.4 -r0 src/sys/arch/ia64/include/acpi_func.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: mrg Date: Thu Jun 30 01:41:05 UTC 2016 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: add a definition for _UC_MACHINE_PC which libasan wants. XXX: i'm not 100% sure i picked the right register. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.3 src/sys/arch/ia64/include/mcontext.h:1.4 --- src/sys/arch/ia64/include/mcontext.h:1.3 Wed Dec 26 19:43:10 2012 +++ src/sys/arch/ia64/include/mcontext.h Thu Jun 30 01:41:05 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.3 2012/12/26 19:43:10 martin Exp $ */ +/* $NetBSD: mcontext.h,v 1.4 2016/06/30 01:41:05 mrg Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -91,9 +91,8 @@ typedef struct __mcontext { struct _high_fp mc_high_fp; } mcontext_t; -#ifndef _UC_MACHINE_SP #define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.mc_special.sp) -#endif +#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.rp) static __inline void * __lwp_getprivate_fast(void)
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: mrg Date: Thu Jun 30 01:41:05 UTC 2016 Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: add a definition for _UC_MACHINE_PC which libasan wants. XXX: i'm not 100% sure i picked the right register. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: cherry Date: Fri Mar 14 17:36:03 UTC 2014 Modified Files: src/sys/arch/ia64/include: asm.h Log Message: Add RCSID() macro To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/asm.h diff -u src/sys/arch/ia64/include/asm.h:1.6 src/sys/arch/ia64/include/asm.h:1.7 --- src/sys/arch/ia64/include/asm.h:1.6 Tue Jan 15 13:30:12 2013 +++ src/sys/arch/ia64/include/asm.h Fri Mar 14 17:36:03 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: asm.h,v 1.6 2013/01/15 13:30:12 kiyohara Exp $ */ +/* $NetBSD: asm.h,v 1.7 2014/03/14 17:36:03 cherry Exp $ */ /* - * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University @@ -202,6 +202,12 @@ label: ASCIZ msg;\ #endif /* __STDC__ */ +#ifdef __ELF__ +#define RCSID(name) .pushsection .ident; .asciz name; .popsection +#else +#define RCSID(name) .asciz name +#endif + /* * Kernel RCS ID tag and copyright macros */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: cherry Date: Fri Mar 14 17:36:03 UTC 2014 Modified Files: src/sys/arch/ia64/include: asm.h Log Message: Add RCSID() macro To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: kiyohara Date: Tue Jan 15 13:30:12 UTC 2013 Modified Files: src/sys/arch/ia64/include: asm.h Log Message: Add macro _C_LABEL() for .S file. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/include/asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/asm.h diff -u src/sys/arch/ia64/include/asm.h:1.5 src/sys/arch/ia64/include/asm.h:1.6 --- src/sys/arch/ia64/include/asm.h:1.5 Thu Dec 27 06:29:50 2012 +++ src/sys/arch/ia64/include/asm.h Tue Jan 15 13:30:12 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: asm.h,v 1.5 2012/12/27 06:29:50 martin Exp $ */ +/* $NetBSD: asm.h,v 1.6 2013/01/15 13:30:12 kiyohara Exp $ */ /* - * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University @@ -34,6 +34,8 @@ * a debugger are also noted. */ +#define _C_LABEL(x) x + /* * Macro to make a local label name. */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: kiyohara Date: Tue Jan 15 13:30:12 UTC 2013 Modified Files: src/sys/arch/ia64/include: asm.h Log Message: Add macro _C_LABEL() for .S file. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/include/asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Thu Dec 27 08:22:36 UTC 2012 Modified Files: src/sys/arch/ia64/include: signal.h Log Message: Provide sig_atomic_t. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/signal.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/signal.h diff -u src/sys/arch/ia64/include/signal.h:1.1 src/sys/arch/ia64/include/signal.h:1.2 --- src/sys/arch/ia64/include/signal.h:1.1 Fri Apr 7 14:21:18 2006 +++ src/sys/arch/ia64/include/signal.h Thu Dec 27 08:22:36 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: signal.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */ +/* $NetBSD: signal.h,v 1.2 2012/12/27 08:22:36 martin Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1991 Regents of the University of California. @@ -34,4 +34,6 @@ #ifndef _IA64_SIGNAL_H_ #define _IA64_SIGNAL_H_ +typedef long sig_atomic_t; + #endif /* !_IA64_SIGNAL_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Thu Dec 27 15:58:56 UTC 2012 Modified Files: src/sys/arch/ia64/include: pte.h Log Message: Hide inline functions from userland To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/pte.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/pte.h diff -u src/sys/arch/ia64/include/pte.h:1.1 src/sys/arch/ia64/include/pte.h:1.2 --- src/sys/arch/ia64/include/pte.h:1.1 Fri Apr 7 14:21:18 2006 +++ src/sys/arch/ia64/include/pte.h Thu Dec 27 15:58:55 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pte.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */ +/* $NetBSD: pte.h,v 1.2 2012/12/27 15:58:55 martin Exp $ */ /*- * Copyright (c) 2001 Doug Rabson @@ -71,6 +71,7 @@ typedef uint64_t pt_entry_t; +#ifdef _KERNEL static __inline pt_entry_t pte_atomic_clear(pt_entry_t *ptep, uint64_t val) { @@ -82,6 +83,7 @@ pte_atomic_set(pt_entry_t *ptep, uint64_ { return (atomic_set_64(ptep, val)); } +#endif /* * A long-format VHPT entry.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Thu Dec 27 08:22:36 UTC 2012 Modified Files: src/sys/arch/ia64/include: signal.h Log Message: Provide sig_atomic_t. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/signal.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Wed Dec 26 19:43:10 UTC 2012 Modified Files: src/sys/arch/ia64/include: Makefile mcontext.h types.h Added Files: src/sys/arch/ia64/include: ieee.h ieeefp.h math.h profile.h Log Message: Install headers needed for userland build. Add missing accessors for pthread and TLS support - just dummies for now. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/Makefile cvs rdiff -u -r0 -r1.1 src/sys/arch/ia64/include/ieee.h \ src/sys/arch/ia64/include/ieeefp.h src/sys/arch/ia64/include/math.h \ src/sys/arch/ia64/include/profile.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/mcontext.h cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/types.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/Makefile diff -u src/sys/arch/ia64/include/Makefile:1.4 src/sys/arch/ia64/include/Makefile:1.5 --- src/sys/arch/ia64/include/Makefile:1.4 Sun Jul 17 20:54:42 2011 +++ src/sys/arch/ia64/include/Makefile Wed Dec 26 19:43:09 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2011/07/17 20:54:42 joerg Exp $ +# $NetBSD: Makefile,v 1.5 2012/12/26 19:43:09 martin Exp $ INCSDIR= /usr/include/ia64 @@ -6,11 +6,11 @@ INCS= _regset.h acpi_func.h acpi_machdep 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 \ - ia64_cpu.h int_const.h int_fmtio.h int_limits.h \ + ia64_cpu.h ieee.h ieeefp.h int_const.h int_fmtio.h int_limits.h \ int_mwgwtypes.h int_types.h intr.h intrcnt.h limits.h \ - loadfile_machdep.h lock.h mca_machdep.h mcontext.h md_var.h \ - pal.h param.h pcb.h pmap.h proc.h pte.h ptrace.h reg.h sal.h \ - setjmp.h signal.h smp.h ssc.h types.h \ + loadfile_machdep.h lock.h math.h mca_machdep.h mcontext.h md_var.h \ + mutex.h pal.h param.h pcb.h pmap.h proc.h profile.h pte.h ptrace.h \ + reg.h sal.h rwlock.h setjmp.h signal.h smp.h ssc.h types.h \ vmparam.h wchar_limits.h .include bsd.kinc.mk Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.2 src/sys/arch/ia64/include/mcontext.h:1.3 --- src/sys/arch/ia64/include/mcontext.h:1.2 Mon Apr 28 20:23:25 2008 +++ src/sys/arch/ia64/include/mcontext.h Wed Dec 26 19:43:10 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.2 2008/04/28 20:23:25 martin Exp $ */ +/* $NetBSD: mcontext.h,v 1.3 2012/12/26 19:43:10 martin Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -95,4 +95,10 @@ typedef struct __mcontext { #define _UC_MACHINE_SP(uc) ((uc)-uc_mcontext.mc_special.sp) #endif +static __inline void * +__lwp_getprivate_fast(void) +{ + return (void*)0; +} + #endif /* !_IA64_MCONTEXT_H_ */ Index: src/sys/arch/ia64/include/types.h diff -u src/sys/arch/ia64/include/types.h:1.6 src/sys/arch/ia64/include/types.h:1.7 --- src/sys/arch/ia64/include/types.h:1.6 Sat Oct 1 15:59:28 2011 +++ src/sys/arch/ia64/include/types.h Wed Dec 26 19:43:10 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: types.h,v 1.6 2011/10/01 15:59:28 chs Exp $ */ +/* $NetBSD: types.h,v 1.7 2012/12/26 19:43:10 martin Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -75,6 +75,7 @@ typedef __volatile int __cpu_simple_loc #define __HAVE_OLD_DISKLABEL #define __HAVE_ATOMIC64_OPS /* XXX: #define __HAVE_CPU_MAXPROC */ +#define __HAVE_TLS_VARIANT_I #if defined(_KERNEL) #define __HAVE_RAS Added files: Index: src/sys/arch/ia64/include/ieee.h diff -u /dev/null src/sys/arch/ia64/include/ieee.h:1.1 --- /dev/null Wed Dec 26 19:43:10 2012 +++ src/sys/arch/ia64/include/ieee.h Wed Dec 26 19:43:10 2012 @@ -0,0 +1,3 @@ +/* $NetBSD: ieee.h,v 1.1 2012/12/26 19:43:10 martin Exp $ */ + +#include sys/ieee754.h Index: src/sys/arch/ia64/include/ieeefp.h diff -u /dev/null src/sys/arch/ia64/include/ieeefp.h:1.1 --- /dev/null Wed Dec 26 19:43:10 2012 +++ src/sys/arch/ia64/include/ieeefp.h Wed Dec 26 19:43:10 2012 @@ -0,0 +1,73 @@ +/* $NetBSD: ieeefp.h,v 1.1 2012/12/26 19:43:10 martin Exp $ */ + +/* + * Written by J.T. Conklin, Apr 28, 1995 + * Public domain. + */ + +#ifndef _IA64_IEEEFP_H_ +#define _IA64_IEEEFP_H_ + +#include sys/featuretest.h + +#if defined(_NETBSD_SOURCE) || defined(_ISOC99_SOURCE) + +typedef int fenv_t; +typedef int fexcept_t; + +#define FE_INVALID 0x01 /* invalid operation exception */ +#define FE_DIVBYZERO 0x02 /* divide-by-zero exception */ +#define FE_OVERFLOW 0x04 /* overflow exception */ +#define FE_UNDERFLOW 0x08 /* underflow exception */ +#define FE_INEXACT 0x10 /* imprecise (loss of precision; inexact) */ +#define FE_IOVERFLOW 0x20/* integer overflow */ + +#define FE_ALL_EXCEPT 0x3f + +/* + * These bits match the fpcr as well as bits 12:11 + * in fp operate instructions + */ +#define FE_TOWARDZERO 0 /* round to zero (truncate) */ +#define FE_DOWNWARD 1 /* round toward
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Thu Dec 27 06:29:50 UTC 2012 Modified Files: src/sys/arch/ia64/include: asm.h Log Message: Add support for WARN_REFERENCESE and __KERNEL_RCSID for assembler files. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/asm.h diff -u src/sys/arch/ia64/include/asm.h:1.4 src/sys/arch/ia64/include/asm.h:1.5 --- src/sys/arch/ia64/include/asm.h:1.4 Wed Aug 30 11:14:23 2006 +++ src/sys/arch/ia64/include/asm.h Thu Dec 27 06:29:50 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: asm.h,v 1.4 2006/08/30 11:14:23 cherry Exp $ */ +/* $NetBSD: asm.h,v 1.5 2012/12/27 06:29:50 martin Exp $ */ /* - * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University @@ -183,3 +183,38 @@ label: ASCIZ msg;\ #define STRONG_ALIAS(alias,sym) \ .globl alias; \ alias = sym + +/* + * WARN_REFERENCES: create a warning if the specified symbol is referenced. + */ +#ifdef __STDC__ +#define WARN_REFERENCES(sym,msg) \ + .pushsection .gnu.warning. ## sym;\ + .ascii msg; \ + .popsection +#else +#define WARN_REFERENCES(sym,msg) \ + .pushsection .gnu.warning./**/sym;\ + .ascii msg; \ + .popsection +#endif /* __STDC__ */ + + +/* + * Kernel RCS ID tag and copyright macros + */ + +#ifdef _KERNEL + +#define __KERNEL_SECTIONSTRING(_sec, _str)\ + .pushsection _sec ; .asciz _str ; .popsection + +#define __KERNEL_RCSID(_n, _s) __KERNEL_SECTIONSTRING(.ident, _s) +#define __KERNEL_COPYRIGHT(_n, _s) __KERNEL_SECTIONSTRING(.copyright, _s) + +#ifdef NO_KERNEL_RCSIDS +#undef __KERNEL_RCSID +#define __KERNEL_RCSID(_n, _s) /* nothing */ +#endif + +#endif /* _KERNEL */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Thu Dec 27 07:14:25 UTC 2012 Modified Files: src/sys/arch/ia64/include: wchar_limits.h Log Message: Add WCHAR_MIN and WCHAR_MAX. Why don't we use the compiler supplied __WCHAR_MIN__ and __WCHAR_MAX__ for this? To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/wchar_limits.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/ia64/include/wchar_limits.h diff -u src/sys/arch/ia64/include/wchar_limits.h:1.2 src/sys/arch/ia64/include/wchar_limits.h:1.3 --- src/sys/arch/ia64/include/wchar_limits.h:1.2 Mon Apr 28 20:23:25 2008 +++ src/sys/arch/ia64/include/wchar_limits.h Thu Dec 27 07:14:24 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: wchar_limits.h,v 1.2 2008/04/28 20:23:25 martin Exp $ */ +/* $NetBSD: wchar_limits.h,v 1.3 2012/12/27 07:14:24 martin Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -32,4 +32,16 @@ #ifndef _IA64_WCHAR_LIMITS_H_ #define _IA64_WCHAR_LIMITS_H_ +/* + * 7.18.3 Limits of other integer types + */ + +/* limits of wchar_t */ +#define WCHAR_MIN (-0x7fff-1) /* wchar_t */ +#define WCHAR_MAX 0x7fff /* wchar_t */ + +/* limits of wint_t */ +#define WINT_MIN (-0x7fff-1) /* wint_t */ +#define WINT_MAX 0x7fff /* wint_t */ + #endif /* !_IA64_WCHAR_LIMITS_H_ */
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Wed Dec 26 19:43:10 UTC 2012 Modified Files: src/sys/arch/ia64/include: Makefile mcontext.h types.h Added Files: src/sys/arch/ia64/include: ieee.h ieeefp.h math.h profile.h Log Message: Install headers needed for userland build. Add missing accessors for pthread and TLS support - just dummies for now. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/Makefile cvs rdiff -u -r0 -r1.1 src/sys/arch/ia64/include/ieee.h \ src/sys/arch/ia64/include/ieeefp.h src/sys/arch/ia64/include/math.h \ src/sys/arch/ia64/include/profile.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/mcontext.h cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/types.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: martin Date: Thu Dec 27 07:14:25 UTC 2012 Modified Files: src/sys/arch/ia64/include: wchar_limits.h Log Message: Add WCHAR_MIN and WCHAR_MAX. Why don't we use the compiler supplied __WCHAR_MIN__ and __WCHAR_MAX__ for this? To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/include/wchar_limits.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/ia64/include
Module Name:src Committed By: jruoho Date: Sat Jul 24 07:31:19 UTC 2010 Removed Files: src/sys/arch/ia64/include: acpica_machdep.h Log Message: Remove empty file. To generate a diff of this commit: cvs rdiff -u -r1.1 -r0 src/sys/arch/ia64/include/acpica_machdep.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.