CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: thorpej Date: Tue Jan 16 01:17:59 UTC 2024 Modified Files: src/sys/arch/news68k/news68k: isr.h Log Message: Use m68k_intrvec_intrhand() to implement isrunlink_vectored(). To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/news68k/news68k/isr.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/news68k/news68k/isr.h diff -u src/sys/arch/news68k/news68k/isr.h:1.10 src/sys/arch/news68k/news68k/isr.h:1.11 --- src/sys/arch/news68k/news68k/isr.h:1.10 Mon Jan 15 00:35:24 2024 +++ src/sys/arch/news68k/news68k/isr.h Tue Jan 16 01:17:59 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: isr.h,v 1.10 2024/01/15 00:35:24 thorpej Exp $ */ +/* $NetBSD: isr.h,v 1.11 2024/01/16 01:17:59 thorpej Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -61,8 +61,11 @@ isrlink_vectored(int (*func)(void *), vo static inline void isrunlink_vectored(int vec) { - /* XXX isrlink_*() functions should return handle. */ - panic("isrunlink_vectored"); + /* XXX isrlink_vectored() should return a handle. */ + void *ih = m68k_intrvec_intrhand(vec); + if (ih != NULL) { + m68k_intr_disestablish(ih); + } } #endif /* _NEWS68k_ISR_H_ */
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: thorpej Date: Tue Jan 16 01:17:59 UTC 2024 Modified Files: src/sys/arch/news68k/news68k: isr.h Log Message: Use m68k_intrvec_intrhand() to implement isrunlink_vectored(). To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/news68k/news68k/isr.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/news68k/news68k
Module Name:src Committed By: thorpej Date: Sun Jan 14 23:01:43 UTC 2024 Modified Files: src/sys/arch/news68k/news68k: isr.c isr.h Log Message: G/C isrlink_custom(); just use vec_set_entry() directly. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/news68k/news68k/isr.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/news68k/news68k/isr.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/news68k/news68k/isr.c diff -u src/sys/arch/news68k/news68k/isr.c:1.24 src/sys/arch/news68k/news68k/isr.c:1.25 --- src/sys/arch/news68k/news68k/isr.c:1.24 Sat Jan 13 23:59:47 2024 +++ src/sys/arch/news68k/news68k/isr.c Sun Jan 14 23:01:43 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: isr.c,v 1.24 2024/01/13 23:59:47 thorpej Exp $ */ +/* $NetBSD: isr.c,v 1.25 2024/01/14 23:01:43 thorpej Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: isr.c,v 1.24 2024/01/13 23:59:47 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: isr.c,v 1.25 2024/01/14 23:01:43 thorpej Exp $"); #include #include @@ -255,12 +255,6 @@ isrdispatch_vectored(int pc, int evec, v printf("isrdispatch_vectored: vec 0x%x not claimed\n", vec); } -void -isrlink_custom(int level, void *handler) -{ - vec_set_entry(VECI_INTRAV0 + level, handler); -} - const uint16_t ipl2psl_table[NIPL] = { [IPL_NONE] = PSL_S | PSL_IPL0, [IPL_SOFTCLOCK] = PSL_S | PSL_IPL2, Index: src/sys/arch/news68k/news68k/isr.h diff -u src/sys/arch/news68k/news68k/isr.h:1.8 src/sys/arch/news68k/news68k/isr.h:1.9 --- src/sys/arch/news68k/news68k/isr.h:1.8 Sat Jan 13 23:59:47 2024 +++ src/sys/arch/news68k/news68k/isr.h Sun Jan 14 23:01:43 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: isr.h,v 1.8 2024/01/13 23:59:47 thorpej Exp $ */ +/* $NetBSD: isr.h,v 1.9 2024/01/14 23:01:43 thorpej Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -61,4 +61,3 @@ void isrlink_vectored(int (*)(void *), v void isrunlink_vectored(int); void isrdispatch_autovec(int); void isrdispatch_vectored(int, int, void *); -void isrlink_custom(int, void *);
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: thorpej Date: Sun Jan 14 23:01:43 UTC 2024 Modified Files: src/sys/arch/news68k/news68k: isr.c isr.h Log Message: G/C isrlink_custom(); just use vec_set_entry() directly. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/news68k/news68k/isr.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/news68k/news68k/isr.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/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sun Oct 15 10:46:51 UTC 2023 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: Remove obsolete #if blocks. To generate a diff of this commit: cvs rdiff -u -r1.70 -r1.71 src/sys/arch/news68k/news68k/locore.s 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/news68k/news68k/locore.s diff -u src/sys/arch/news68k/news68k/locore.s:1.70 src/sys/arch/news68k/news68k/locore.s:1.71 --- src/sys/arch/news68k/news68k/locore.s:1.70 Sun Oct 8 17:42:58 2023 +++ src/sys/arch/news68k/news68k/locore.s Sun Oct 15 10:46:51 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.70 2023/10/08 17:42:58 andvar Exp $ */ +/* $NetBSD: locore.s,v 1.71 2023/10/15 10:46:51 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -89,7 +89,6 @@ ASLOCAL(monitor) /* * LED control for DEBUG. */ -#ifdef __STDC__ #define IMMEDIATE # #define SETLED(func) \ movl IMMEDIATE func,%d0; \ @@ -98,15 +97,6 @@ ASLOCAL(monitor) #define SETLED2(func) \ movl IMMEDIATE func,%d0; \ jmp debug_led2 -#else -#define SETLED(func) \ - movl #func,%d0; \ - jmp debug_led - -#define SETLED2(func) \ - movl #func,%d0; \ - jmp debug_led2 -#endif /* __STDC__ */ #define TOMONITOR \ moveal _ASM_LABEL(monitor), %a0; \ @@ -342,11 +332,7 @@ Lstart2: andl #PG_FRAME,%d2 | round to a page movl %d2,%a4 addl %a5,%a4 | convert to PA -#if 0 - movl #0x0, %sp@- | firstpa -#else - pea %a5@ -#endif + pea %a5@ | firstpa pea %a4@ | nextpa RELOC(pmap_bootstrap,%a0) jbsr %a0@ | pmap_bootstrap(firstpa, nextpa)
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sun Oct 15 10:46:51 UTC 2023 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: Remove obsolete #if blocks. To generate a diff of this commit: cvs rdiff -u -r1.70 -r1.71 src/sys/arch/news68k/news68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: andvar Date: Sun Oct 8 17:42:58 UTC 2023 Modified Files: src/sys/arch/news68k/news68k: locore.s vectors.s Log Message: Revert my changes regarding removal of FPSP related blocks. After additional discussion it is preferred to keep code consistency, to make it easier refactor common code between m68k ports. To generate a diff of this commit: cvs rdiff -u -r1.69 -r1.70 src/sys/arch/news68k/news68k/locore.s cvs rdiff -u -r1.8 -r1.9 src/sys/arch/news68k/news68k/vectors.s 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/news68k/news68k/locore.s diff -u src/sys/arch/news68k/news68k/locore.s:1.69 src/sys/arch/news68k/news68k/locore.s:1.70 --- src/sys/arch/news68k/news68k/locore.s:1.69 Fri Oct 6 21:10:12 2023 +++ src/sys/arch/news68k/news68k/locore.s Sun Oct 8 17:42:58 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.69 2023/10/06 21:10:12 andvar Exp $ */ +/* $NetBSD: locore.s,v 1.70 2023/10/08 17:42:58 andvar Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -44,6 +44,7 @@ #include "opt_compat_netbsd.h" #include "opt_compat_sunos.h" +#include "opt_fpsp.h" #include "opt_ddb.h" #include "opt_kgdb.h" #include "opt_lockdebug.h" Index: src/sys/arch/news68k/news68k/vectors.s diff -u src/sys/arch/news68k/news68k/vectors.s:1.8 src/sys/arch/news68k/news68k/vectors.s:1.9 --- src/sys/arch/news68k/news68k/vectors.s:1.8 Fri Oct 6 21:10:12 2023 +++ src/sys/arch/news68k/news68k/vectors.s Sun Oct 8 17:42:58 2023 @@ -1,4 +1,4 @@ -| $NetBSD: vectors.s,v 1.8 2023/10/06 21:10:12 andvar Exp $ +| $NetBSD: vectors.s,v 1.9 2023/10/08 17:42:58 andvar Exp $ | Copyright (c) 1997 Jason R. Thorpe. All rights reserved. | Copyright (c) 1988 University of Utah @@ -109,6 +109,15 @@ GLOBAL(vectab) VECTOR(illinst) /* 45: TRAP instruction vector */ VECTOR(illinst) /* 46: TRAP instruction vector */ VECTOR(trap15) /* 47: TRAP instruction vector */ +#ifdef FPSP + ASVECTOR(bsun) /* 48: FPCP branch/set on unordered cond */ + ASVECTOR(inex) /* 49: FPCP inexact result */ + ASVECTOR(dz) /* 50: FPCP divide by zero */ + ASVECTOR(unfl) /* 51: FPCP underflow */ + ASVECTOR(operr) /* 52: FPCP operand error */ + ASVECTOR(ovfl) /* 53: FPCP overflow */ + ASVECTOR(snan) /* 54: FPCP signalling NAN */ +#else VECTOR(fpfault) /* 48: FPCP branch/set on unordered cond */ VECTOR(fpfault) /* 49: FPCP inexact result */ VECTOR(fpfault) /* 50: FPCP divide by zero */ @@ -116,6 +125,8 @@ GLOBAL(vectab) VECTOR(fpfault) /* 52: FPCP operand error */ VECTOR(fpfault) /* 53: FPCP overflow */ VECTOR(fpfault) /* 54: FPCP signalling NAN */ +#endif + VECTOR(fpunsupp) /* 55: FPCP unimplemented data type */ VECTOR(badtrap) /* 56: unassigned, reserved */ VECTOR(badtrap) /* 57: unassigned, reserved */
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: andvar Date: Sun Oct 8 17:42:58 UTC 2023 Modified Files: src/sys/arch/news68k/news68k: locore.s vectors.s Log Message: Revert my changes regarding removal of FPSP related blocks. After additional discussion it is preferred to keep code consistency, to make it easier refactor common code between m68k ports. To generate a diff of this commit: cvs rdiff -u -r1.69 -r1.70 src/sys/arch/news68k/news68k/locore.s cvs rdiff -u -r1.8 -r1.9 src/sys/arch/news68k/news68k/vectors.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Apr 22 10:09:12 UTC 2023 Modified Files: src/sys/arch/news68k/news68k: bus_space.c trap.c Log Message: Remove ancient /*ARGSUSED*/ comments. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/news68k/news68k/bus_space.c cvs rdiff -u -r1.73 -r1.74 src/sys/arch/news68k/news68k/trap.c 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/news68k/news68k/bus_space.c diff -u src/sys/arch/news68k/news68k/bus_space.c:1.13 src/sys/arch/news68k/news68k/bus_space.c:1.14 --- src/sys/arch/news68k/news68k/bus_space.c:1.13 Sun Sep 21 16:34:53 2014 +++ src/sys/arch/news68k/news68k/bus_space.c Sat Apr 22 10:09:12 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: bus_space.c,v 1.13 2014/09/21 16:34:53 christos Exp $ */ +/* $NetBSD: bus_space.c,v 1.14 2023/04/22 10:09:12 tsutsui Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: bus_space.c,v 1.13 2014/09/21 16:34:53 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bus_space.c,v 1.14 2023/04/22 10:09:12 tsutsui Exp $"); #include #include @@ -46,7 +46,6 @@ __KERNEL_RCSID(0, "$NetBSD: bus_space.c, extern int *nofault; -/* ARGSUSED */ int bus_space_map(bus_space_tag_t t, bus_addr_t bpa, bus_size_t size, int flags, bus_space_handle_t *bshp) @@ -69,7 +68,6 @@ bus_space_map(bus_space_tag_t t, bus_add return 1; } -/* ARGSUSED */ int bus_space_alloc(bus_space_tag_t t, bus_addr_t rstart, bus_addr_t rend, bus_size_t size, bus_size_t alignment, bus_size_t boundary, int flags, @@ -82,7 +80,6 @@ bus_space_alloc(bus_space_tag_t t, bus_a return EINVAL; } -/* ARGSUSED */ void bus_space_free(bus_space_tag_t t, bus_space_handle_t bsh, bus_size_t size) { @@ -111,7 +108,6 @@ bus_space_unmap(bus_space_tag_t t, bus_s return; } -/* ARGSUSED */ int bus_space_subregion(bus_space_tag_t t, bus_space_handle_t bsh, bus_size_t offset, bus_size_t size, bus_space_handle_t *nbshp) @@ -121,7 +117,6 @@ bus_space_subregion(bus_space_tag_t t, b return 0; } -/* ARGSUSED */ int news68k_bus_space_probe(bus_space_tag_t t, bus_space_handle_t bsh, bus_size_t offset, int sz) Index: src/sys/arch/news68k/news68k/trap.c diff -u src/sys/arch/news68k/news68k/trap.c:1.73 src/sys/arch/news68k/news68k/trap.c:1.74 --- src/sys/arch/news68k/news68k/trap.c:1.73 Sat Sep 25 19:16:31 2021 +++ src/sys/arch/news68k/news68k/trap.c Sat Apr 22 10:09:12 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.73 2021/09/25 19:16:31 tsutsui Exp $ */ +/* $NetBSD: trap.c,v 1.74 2023/04/22 10:09:12 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.73 2021/09/25 19:16:31 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.74 2023/04/22 10:09:12 tsutsui Exp $"); #include "opt_ddb.h" #include "opt_execfmt.h" @@ -240,7 +240,6 @@ machine_userret(struct lwp *l, struct fr * including events such as simulated software interrupts/AST's. * System calls are broken out for efficiency. */ -/*ARGSUSED*/ void trap(struct frame *fp, int type, u_int code, u_int v) {
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Apr 22 10:09:12 UTC 2023 Modified Files: src/sys/arch/news68k/news68k: bus_space.c trap.c Log Message: Remove ancient /*ARGSUSED*/ comments. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/news68k/news68k/bus_space.c cvs rdiff -u -r1.73 -r1.74 src/sys/arch/news68k/news68k/trap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Fri Aug 6 05:53:50 UTC 2021 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Fix mm_md_physacc() to allow only accesses to a region of RAMs. Note on NetBSD/news68k RAMs reserved by the PROM (at the end of the RAM) are not managed. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Fri Aug 6 05:53:50 UTC 2021 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Fix mm_md_physacc() to allow only accesses to a region of RAMs. Note on NetBSD/news68k RAMs reserved by the PROM (at the end of the RAM) are not managed. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/sys/arch/news68k/news68k/machdep.c 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/news68k/news68k/machdep.c diff -u src/sys/arch/news68k/news68k/machdep.c:1.108 src/sys/arch/news68k/news68k/machdep.c:1.109 --- src/sys/arch/news68k/news68k/machdep.c:1.108 Thu Jun 11 19:20:44 2020 +++ src/sys/arch/news68k/news68k/machdep.c Fri Aug 6 05:53:50 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.108 2020/06/11 19:20:44 ad Exp $ */ +/* $NetBSD: machdep.c,v 1.109 2021/08/06 05:53:50 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.108 2020/06/11 19:20:44 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.109 2021/08/06 05:53:50 tsutsui Exp $"); #include "opt_ddb.h" #include "opt_compat_netbsd.h" @@ -992,8 +992,17 @@ consinit(void) int mm_md_physacc(paddr_t pa, vm_prot_t prot) { + paddr_t memend; - return (pa < lowram || pa >= 0xfffc) ? EFAULT : 0; + /* + * news68k has one contiguous memory segment. + */ + memend = lowram + ctob(physmem); + + if (lowram <= pa && pa < memend) + return 0; + + return EFAULT; } int
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Jan 23 15:00:33 UTC 2021 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: Remove leftover of #undef statements. These should have been removed in rev 1.55 back in 2010: https://mail-index.netbsd.org/source-changes/2010/12/20/msg016105.html http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/news68k/news68k/locore.s.diff?r1=1.54=1.55 To generate a diff of this commit: cvs rdiff -u -r1.66 -r1.67 src/sys/arch/news68k/news68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Jan 23 15:00:33 UTC 2021 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: Remove leftover of #undef statements. These should have been removed in rev 1.55 back in 2010: https://mail-index.netbsd.org/source-changes/2010/12/20/msg016105.html http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/news68k/news68k/locore.s.diff?r1=1.54=1.55 To generate a diff of this commit: cvs rdiff -u -r1.66 -r1.67 src/sys/arch/news68k/news68k/locore.s 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/news68k/news68k/locore.s diff -u src/sys/arch/news68k/news68k/locore.s:1.66 src/sys/arch/news68k/news68k/locore.s:1.67 --- src/sys/arch/news68k/news68k/locore.s:1.66 Wed Dec 19 13:57:49 2018 +++ src/sys/arch/news68k/news68k/locore.s Sat Jan 23 15:00:33 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.66 2018/12/19 13:57:49 maxv Exp $ */ +/* $NetBSD: locore.s,v 1.67 2021/01/23 15:00:33 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -808,9 +808,6 @@ ENTRY_NOPROFILE(intrhand_vectored) subql #1,_C_LABEL(idepth) rte -#undef INTERRUPT_SAVEREG -#undef INTERRUPT_RESTOREREG - /* * Emulation of VAX REI instruction. *
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: thorpej Date: Sat Nov 21 17:55:38 UTC 2020 Modified Files: src/sys/arch/news68k/news68k: isr.c Log Message: malloc(9) -> kmem(9) To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/news68k/news68k/isr.c 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/news68k/news68k/isr.c diff -u src/sys/arch/news68k/news68k/isr.c:1.22 src/sys/arch/news68k/news68k/isr.c:1.23 --- src/sys/arch/news68k/news68k/isr.c:1.22 Sun Nov 10 21:16:30 2019 +++ src/sys/arch/news68k/news68k/isr.c Sat Nov 21 17:55:38 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: isr.c,v 1.22 2019/11/10 21:16:30 chs Exp $ */ +/* $NetBSD: isr.c,v 1.23 2020/11/21 17:55:38 thorpej Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -39,11 +39,11 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: isr.c,v 1.22 2019/11/10 21:16:30 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: isr.c,v 1.23 2020/11/21 17:55:38 thorpej Exp $"); #include #include -#include +#include #include #include @@ -82,7 +82,7 @@ isrlink_autovec(int (*func)(void *), voi if ((ipl < 0) || (ipl >= NISRAUTOVEC)) panic("isrlink_autovec: bad ipl %d", ipl); - newisr = malloc(sizeof(struct isr_autovec), M_DEVBUF, M_WAITOK); + newisr = kmem_alloc(sizeof(*newisr), KM_SLEEP); newisr->isr_func = func; newisr->isr_arg = arg; newisr->isr_ipl = ipl;
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: thorpej Date: Sat Nov 21 17:55:38 UTC 2020 Modified Files: src/sys/arch/news68k/news68k: isr.c Log Message: malloc(9) -> kmem(9) To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/news68k/news68k/isr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Mon Feb 3 23:09:04 UTC 2020 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Add a missing semicolon missed in rev 1.27. Noticed by recent pmap_update() macro change. I wonder how I've missed this for 18 years.. To generate a diff of this commit: cvs rdiff -u -r1.106 -r1.107 src/sys/arch/news68k/news68k/machdep.c 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/news68k/news68k/machdep.c diff -u src/sys/arch/news68k/news68k/machdep.c:1.106 src/sys/arch/news68k/news68k/machdep.c:1.107 --- src/sys/arch/news68k/news68k/machdep.c:1.106 Tue Dec 31 13:07:11 2019 +++ src/sys/arch/news68k/news68k/machdep.c Mon Feb 3 23:09:03 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.106 2019/12/31 13:07:11 ad Exp $ */ +/* $NetBSD: machdep.c,v 1.107 2020/02/03 23:09:03 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.106 2019/12/31 13:07:11 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.107 2020/02/03 23:09:03 tsutsui Exp $"); #include "opt_ddb.h" #include "opt_compat_netbsd.h" @@ -189,7 +189,7 @@ news68k_init(void) */ for (i = 0; i < btoc(MSGBUFSIZE); i++) pmap_kenter_pa((vaddr_t)msgbufaddr + i * PAGE_SIZE, - avail_end + i * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, 0) + avail_end + i * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, 0); pmap_update(pmap_kernel()); initmsgbuf(msgbufaddr, m68k_round_page(MSGBUFSIZE)); }
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Mon Feb 3 23:09:04 UTC 2020 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Add a missing semicolon missed in rev 1.27. Noticed by recent pmap_update() macro change. I wonder how I've missed this for 18 years.. To generate a diff of this commit: cvs rdiff -u -r1.106 -r1.107 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: christos Date: Fri Sep 15 03:11:15 UTC 2017 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: pass the right argument To generate a diff of this commit: cvs rdiff -u -r1.102 -r1.103 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: christos Date: Fri Sep 15 03:11:15 UTC 2017 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: pass the right argument To generate a diff of this commit: cvs rdiff -u -r1.102 -r1.103 src/sys/arch/news68k/news68k/machdep.c 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/news68k/news68k/machdep.c diff -u src/sys/arch/news68k/news68k/machdep.c:1.102 src/sys/arch/news68k/news68k/machdep.c:1.103 --- src/sys/arch/news68k/news68k/machdep.c:1.102 Thu Sep 14 23:10:07 2017 +++ src/sys/arch/news68k/news68k/machdep.c Thu Sep 14 23:11:15 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.102 2017/09/15 03:10:07 christos Exp $ */ +/* $NetBSD: machdep.c,v 1.103 2017/09/15 03:11:15 christos Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.102 2017/09/15 03:10:07 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.103 2017/09/15 03:11:15 christos Exp $"); #include "opt_ddb.h" #include "opt_compat_netbsd.h" @@ -693,12 +693,12 @@ cpu_exec_aout_makecmds(struct lwp *l, st switch (midmag) { #ifdef COMPAT_NOMID case (MID_ZERO << 16) | ZMAGIC: - error = exec_aout_prep_oldzmagic(l->l_proc, epp); + error = exec_aout_prep_oldzmagic(l, epp); return(error); #endif #ifdef COMPAT_44 case (MID_HP300 << 16) | ZMAGIC: - error = exec_aout_prep_oldzmagic(l->l_proc, epp); + error = exec_aout_prep_oldzmagic(l, epp); return error; #endif }
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: christos Date: Fri Sep 15 03:10:08 UTC 2017 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: make this compile To generate a diff of this commit: cvs rdiff -u -r1.101 -r1.102 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: christos Date: Fri Sep 15 03:10:08 UTC 2017 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: make this compile To generate a diff of this commit: cvs rdiff -u -r1.101 -r1.102 src/sys/arch/news68k/news68k/machdep.c 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/news68k/news68k/machdep.c diff -u src/sys/arch/news68k/news68k/machdep.c:1.101 src/sys/arch/news68k/news68k/machdep.c:1.102 --- src/sys/arch/news68k/news68k/machdep.c:1.101 Mon Mar 24 15:54:28 2014 +++ src/sys/arch/news68k/news68k/machdep.c Thu Sep 14 23:10:07 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.101 2014/03/24 19:54:28 christos Exp $ */ +/* $NetBSD: machdep.c,v 1.102 2017/09/15 03:10:07 christos Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.101 2014/03/24 19:54:28 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.102 2017/09/15 03:10:07 christos Exp $"); #include "opt_ddb.h" #include "opt_compat_netbsd.h" @@ -698,7 +698,7 @@ cpu_exec_aout_makecmds(struct lwp *l, st #endif #ifdef COMPAT_44 case (MID_HP300 << 16) | ZMAGIC: - error = exec_aout_prep_oldzmagic(p, epp); + error = exec_aout_prep_oldzmagic(l->l_proc, epp); return error; #endif }
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: christos Date: Sun Sep 21 16:34:53 UTC 2014 Modified Files: src/sys/arch/news68k/news68k: bus_space.c Log Message: this is not python (add missing braces) To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/news68k/news68k/bus_space.c 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/news68k/news68k/bus_space.c diff -u src/sys/arch/news68k/news68k/bus_space.c:1.12 src/sys/arch/news68k/news68k/bus_space.c:1.13 --- src/sys/arch/news68k/news68k/bus_space.c:1.12 Mon Mar 24 15:54:28 2014 +++ src/sys/arch/news68k/news68k/bus_space.c Sun Sep 21 12:34:53 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: bus_space.c,v 1.12 2014/03/24 19:54:28 christos Exp $ */ +/* $NetBSD: bus_space.c,v 1.13 2014/09/21 16:34:53 christos Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: bus_space.c,v 1.12 2014/03/24 19:54:28 christos Exp $); +__KERNEL_RCSID(0, $NetBSD: bus_space.c,v 1.13 2014/09/21 16:34:53 christos Exp $); #include sys/param.h #include sys/systm.h @@ -61,9 +61,10 @@ bus_space_map(bus_space_tag_t t, bus_add return 0; } - if (t == NEWS68K_BUS_SPACE_EIO) + if (t == NEWS68K_BUS_SPACE_EIO) { *bshp = (bus_space_handle_t)bpa; /* XXX use tt0 mapping */ return 0; + } return 1; }
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: christos Date: Sun Sep 21 16:34:53 UTC 2014 Modified Files: src/sys/arch/news68k/news68k: bus_space.c Log Message: this is not python (add missing braces) To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/news68k/news68k/bus_space.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: christos Date: Mon Mar 24 19:54:28 UTC 2014 Modified Files: src/sys/arch/news68k/news68k: autoconf.c bus_space.c machdep.c Log Message: - use cpu_{g,s}etmodel - fix unused To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/news68k/news68k/autoconf.c cvs rdiff -u -r1.11 -r1.12 src/sys/arch/news68k/news68k/bus_space.c cvs rdiff -u -r1.100 -r1.101 src/sys/arch/news68k/news68k/machdep.c 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/news68k/news68k/autoconf.c diff -u src/sys/arch/news68k/news68k/autoconf.c:1.22 src/sys/arch/news68k/news68k/autoconf.c:1.23 --- src/sys/arch/news68k/news68k/autoconf.c:1.22 Sat Oct 13 02:18:44 2012 +++ src/sys/arch/news68k/news68k/autoconf.c Mon Mar 24 15:54:28 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.22 2012/10/13 06:18:44 tsutsui Exp $ */ +/* $NetBSD: autoconf.c,v 1.23 2014/03/24 19:54:28 christos Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -51,7 +51,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: autoconf.c,v 1.22 2012/10/13 06:18:44 tsutsui Exp $); +__KERNEL_RCSID(0, $NetBSD: autoconf.c,v 1.23 2014/03/24 19:54:28 christos Exp $); #include scsibus.h @@ -124,14 +124,13 @@ void findroot(void) { #if NSCSIBUS 0 - int ctlr, unit, part, type; + int ctlr, part, type; device_t dv; if (BOOTDEV_MAG(bootdev) != 5) /* NEWS-OS's B_DEVMAGIC */ return; ctlr = BOOTDEV_CTLR(bootdev); /* SCSI ID */ - unit = BOOTDEV_UNIT(bootdev); part = BOOTDEV_PART(bootdev); /* LUN */ type = BOOTDEV_TYPE(bootdev); Index: src/sys/arch/news68k/news68k/bus_space.c diff -u src/sys/arch/news68k/news68k/bus_space.c:1.11 src/sys/arch/news68k/news68k/bus_space.c:1.12 --- src/sys/arch/news68k/news68k/bus_space.c:1.11 Tue Nov 22 09:31:02 2011 +++ src/sys/arch/news68k/news68k/bus_space.c Mon Mar 24 15:54:28 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: bus_space.c,v 1.11 2011/11/22 14:31:02 tsutsui Exp $ */ +/* $NetBSD: bus_space.c,v 1.12 2014/03/24 19:54:28 christos Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: bus_space.c,v 1.11 2011/11/22 14:31:02 tsutsui Exp $); +__KERNEL_RCSID(0, $NetBSD: bus_space.c,v 1.12 2014/03/24 19:54:28 christos Exp $); #include sys/param.h #include sys/systm.h @@ -151,7 +151,7 @@ news68k_bus_space_probe(bus_space_tag_t panic(bus_space_probe: unupported data size %d, sz); /* NOTREACHED */ } - + __USE(i); nofault = NULL; return 1; } Index: src/sys/arch/news68k/news68k/machdep.c diff -u src/sys/arch/news68k/news68k/machdep.c:1.100 src/sys/arch/news68k/news68k/machdep.c:1.101 --- src/sys/arch/news68k/news68k/machdep.c:1.100 Fri Aug 10 08:17:51 2012 +++ src/sys/arch/news68k/news68k/machdep.c Mon Mar 24 15:54:28 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.100 2012/08/10 12:17:51 tsutsui Exp $ */ +/* $NetBSD: machdep.c,v 1.101 2014/03/24 19:54:28 christos Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: machdep.c,v 1.100 2012/08/10 12:17:51 tsutsui Exp $); +__KERNEL_RCSID(0, $NetBSD: machdep.c,v 1.101 2014/03/24 19:54:28 christos Exp $); #include opt_ddb.h #include opt_compat_netbsd.h @@ -64,6 +64,7 @@ __KERNEL_RCSID(0, $NetBSD: machdep.c,v #include sys/kcore.h #include sys/ksyms.h #include sys/module.h +#include sys/cpu.h #ifdef DDB #include machine/db_machdep.h @@ -245,18 +246,13 @@ cpu_startup(void) initcpu(); } -/* - * Info for CTL_HW - */ -char cpu_model[124]; - int news_machine_id; static void identifycpu(void) { - printf(SONY NET WORK STATION, Model %s, , cpu_model); + printf(SONY NET WORK STATION, Model %s, , cpu_getmodel()); printf(Machine ID #%d\n, news_machine_id); delay_divisor = (20480 / cpuspeed + 5) / 10; /* XXX */ @@ -645,6 +641,7 @@ badaddr(void *addr, int nbytes) default: panic(badaddr: bad request); } + __USE(i); nofault = (int *) 0; return 0; } @@ -661,6 +658,7 @@ badbaddr(void *addr) return 1; } i = *(volatile char *)addr; + __USE(i); nofault = (int *) 0; return 0; } @@ -808,7 +806,7 @@ news1700_init(void) if (t == NULL) panic(unexpected system model.); - strcat(cpu_model, t); + cpu_setmodel(%s, t); news_machine_id = (idrom.id_serial[0] 8) + idrom.id_serial[1]; ctrl_parity = (uint8_t *)(0xe108); @@ -890,7 +888,7 @@ news1200_init(void) for (i = 0; i sizeof(idrom); i++, p += 2) *q++ = ((*p 0x0f) 4) | (*(p + 1) 0x0f); - strcat(cpu_model, idrom.id_model); + cpu_setmodel(%s, idrom.id_model); news_machine_id = idrom.id_serial; cpuspeed = 25;
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: christos Date: Mon Mar 24 19:54:28 UTC 2014 Modified Files: src/sys/arch/news68k/news68k: autoconf.c bus_space.c machdep.c Log Message: - use cpu_{g,s}etmodel - fix unused To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/news68k/news68k/autoconf.c cvs rdiff -u -r1.11 -r1.12 src/sys/arch/news68k/news68k/bus_space.c cvs rdiff -u -r1.100 -r1.101 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Mar 15 09:24:56 UTC 2014 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: Use common m68k/busaddrerr.s for bus error and address error handlers. No binary changes on GENERIC, and also tested on NWS-1750. To generate a diff of this commit: cvs rdiff -u -r1.64 -r1.65 src/sys/arch/news68k/news68k/locore.s 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/news68k/news68k/locore.s diff -u src/sys/arch/news68k/news68k/locore.s:1.64 src/sys/arch/news68k/news68k/locore.s:1.65 --- src/sys/arch/news68k/news68k/locore.s:1.64 Sun Mar 9 16:18:00 2014 +++ src/sys/arch/news68k/news68k/locore.s Sat Mar 15 09:24:56 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.64 2014/03/09 16:18:00 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.65 2014/03/15 09:24:56 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -479,100 +479,10 @@ Lenab3: */ #include m68k/m68k/trap_subr.s -#if defined(M68020) || defined(M68030) -ENTRY_NOPROFILE(busaddrerr2030) - clrl %sp@- | stack adjust count - moveml #0x,%sp@- | save user registers - movl %usp,%a0 | save the user SP - movl %a0,%sp@(FR_SP) | in the savearea - moveq #0,%d0 - movw %sp@(FR_HW+10),%d0 | grab SSW for fault processing - btst #12,%d0 | RB set? - jeq LbeX0 | no, test RC - bset #14,%d0 | yes, must set FB - movw %d0,%sp@(FR_HW+10) | for hardware too -LbeX0: - btst #13,%d0 | RC set? - jeq LbeX1 | no, skip - bset #15,%d0 | yes, must set FC - movw %d0,%sp@(FR_HW+10) | for hardware too -LbeX1: - btst #8,%d0 | data fault? - jeq Lbe0 | no, check for hard cases - movl %sp@(FR_HW+16),%d1 | fault address is as given in frame - jra Lbe10 | thats it -Lbe0: - btst #4,%sp@(FR_HW+6) | long (type B) stack frame? - jne Lbe4 | yes, go handle - movl %sp@(FR_HW+2),%d1 | no, can use save PC - btst #14,%d0 | FB set? - jeq Lbe3 | no, try FC - addql #4,%d1 | yes, adjust address - jra Lbe10 | done -Lbe3: - btst #15,%d0 | FC set? - jeq Lbe10 | no, done - addql #2,%d1 | yes, adjust address - jra Lbe10 | done -Lbe4: - movl %sp@(FR_HW+36),%d1 | long format, use stage B address - btst #15,%d0 | FC set? - jeq Lbe10 | no, all done - subql #2,%d1 | yes, adjust address -Lbe10: - movl %d1,%sp@- | push fault VA - movl %d0,%sp@- | and padded SSW - movw %sp@(FR_HW+8+6),%d0 | get frame format/vector offset - andw #0x0FFF,%d0 | clear out frame format - cmpw #12,%d0 | address error vector? - jeq Lisaerr | yes, go to it - movl %d1,%a0 | fault address - movl %sp@,%d0 | function code from ssw - btst #8,%d0 | data fault? - jne Lbe10a -#if 0 - movql #1,%d0 | user program access FC -#else - moveq #1,%d0 | user program access FC -#endif - | (we dont separate data/program) - btst #5,%sp@(FR_HW+8) | supervisor mode? - jeq Lbe10a | if no, done - movql #5,%d0 | else supervisor program access -Lbe10a: - ptestr %d0,%a0@,#7 | do a table search - pmove %psr,%sp@ | save result - movb %sp@,%d1 - btst #2,%d1 | invalid (incl. limit viol. and berr)? - jeq Lmightnotbemerr | no - wp check - btst #7,%d1 | is it MMU table berr? - jne Lisberr1 | yes, needs not be fast. -Lismerr: - movl #T_MMUFLT,%sp@- | show that we are an MMU fault - jra _ASM_LABEL(faultstkadj) | and deal with it -Lmightnotbemerr: - btst #3,%d1 | write protect bit set? - jeq Lisberr1 | no: must be bus error - movl %sp@,%d0 | ssw into low word of %d0 - andw #0xc0,%d0 | Write protect is set on page: - cmpw #0x40,%d0 | was it read cycle? - jne Lismerr | no, was not WPE, must be MMU fault - jra Lisberr1 | real bus err needs not be fast. -Lisaerr: - movl #T_ADDRERR,%sp@- | mark address error - jra _ASM_LABEL(faultstkadj) | and deal with it -Lisberr1: - clrw %sp@ | re-clear pad word - tstl _C_LABEL(nofault) | catch bus error? - jeq Lisberr | no, handle as usual - movl _C_LABEL(nofault),%sp@- | yes, - jbsr _C_LABEL(longjmp) | longjmp(nofault) - /* NOTREACHED */ -#endif /* M68020 || M68030 */ - -Lisberr:| also used by M68040/60 - movl #T_BUSERR,%sp@- | mark bus error - jra _ASM_LABEL(faultstkadj) | and deal with it +/* + * Use common m68k bus error and address error handlers. + */ +#include m68k/m68k/busaddrerr.s /* * FP exceptions.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Mar 15 09:24:56 UTC 2014 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: Use common m68k/busaddrerr.s for bus error and address error handlers. No binary changes on GENERIC, and also tested on NWS-1750. To generate a diff of this commit: cvs rdiff -u -r1.64 -r1.65 src/sys/arch/news68k/news68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Oct 13 06:18:44 UTC 2012 Modified Files: src/sys/arch/news68k/news68k: autoconf.c Log Message: use device_xname() (from chs@) To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/news68k/news68k/autoconf.c 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/news68k/news68k/autoconf.c diff -u src/sys/arch/news68k/news68k/autoconf.c:1.21 src/sys/arch/news68k/news68k/autoconf.c:1.22 --- src/sys/arch/news68k/news68k/autoconf.c:1.21 Sun Jul 29 18:05:45 2012 +++ src/sys/arch/news68k/news68k/autoconf.c Sat Oct 13 06:18:44 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.21 2012/07/29 18:05:45 mlelstv Exp $ */ +/* $NetBSD: autoconf.c,v 1.22 2012/10/13 06:18:44 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -51,7 +51,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: autoconf.c,v 1.21 2012/07/29 18:05:45 mlelstv Exp $); +__KERNEL_RCSID(0, $NetBSD: autoconf.c,v 1.22 2012/10/13 06:18:44 tsutsui Exp $); #include scsibus.h @@ -110,7 +110,7 @@ cpu_rootconf(void) findroot(); printf(boot device: %s\n, - booted_device ? booted_device-dv_xname : unknown); + booted_device ? device_xname(booted_device) : unknown); rootconf(); }
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Oct 13 06:18:44 UTC 2012 Modified Files: src/sys/arch/news68k/news68k: autoconf.c Log Message: use device_xname() (from chs@) To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/news68k/news68k/autoconf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Fri Aug 10 12:17:51 UTC 2012 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Appease gcc -fno-common: - remove initialzation of physmem since it's properly initialized before pmap_bootstrap() using a value passed from bootloader and sanity possible maximum value is not necessary - remove cn_tab = NULL initialization because no worth to patch it Tested on NWS-1750. To generate a diff of this commit: cvs rdiff -u -r1.99 -r1.100 src/sys/arch/news68k/news68k/machdep.c 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/news68k/news68k/machdep.c diff -u src/sys/arch/news68k/news68k/machdep.c:1.99 src/sys/arch/news68k/news68k/machdep.c:1.100 --- src/sys/arch/news68k/news68k/machdep.c:1.99 Fri Jul 27 05:36:11 2012 +++ src/sys/arch/news68k/news68k/machdep.c Fri Aug 10 12:17:51 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.99 2012/07/27 05:36:11 matt Exp $ */ +/* $NetBSD: machdep.c,v 1.100 2012/08/10 12:17:51 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: machdep.c,v 1.99 2012/07/27 05:36:11 matt Exp $); +__KERNEL_RCSID(0, $NetBSD: machdep.c,v 1.100 2012/08/10 12:17:51 tsutsui Exp $); #include opt_ddb.h #include opt_compat_netbsd.h @@ -111,7 +111,6 @@ struct cpu_info cpu_info_store; struct vm_map *phys_map = NULL; int maxmem; /* max memory per process */ -int physmem = MAXMEM; /* max supported memory, changes to actual */ extern paddr_t avail_start, avail_end; extern int end, *esym; @@ -968,7 +967,6 @@ intrhand_lev4(void) #define SW_FBPOP2 0x03 #define SW_AUTOSEL 0x07 -struct consdev *cn_tab = NULL; extern struct consdev consdev_rom, consdev_zs; int tty00_is_console = 0;
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Fri Aug 10 12:17:51 UTC 2012 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Appease gcc -fno-common: - remove initialzation of physmem since it's properly initialized before pmap_bootstrap() using a value passed from bootloader and sanity possible maximum value is not necessary - remove cn_tab = NULL initialization because no worth to patch it Tested on NWS-1750. To generate a diff of this commit: cvs rdiff -u -r1.99 -r1.100 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Thu Nov 3 14:56:39 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: unifdef __ELF__ To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 src/sys/arch/news68k/news68k/locore.s 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/news68k/news68k/locore.s diff -u src/sys/arch/news68k/news68k/locore.s:1.56 src/sys/arch/news68k/news68k/locore.s:1.57 --- src/sys/arch/news68k/news68k/locore.s:1.56 Tue Feb 8 20:20:21 2011 +++ src/sys/arch/news68k/news68k/locore.s Thu Nov 3 14:56:39 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.56 2011/02/08 20:20:21 rmind Exp $ */ +/* $NetBSD: locore.s,v 1.57 2011/11/03 14:56:39 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -1056,11 +1056,7 @@ ENTRY_NOPROFILE(_delay) * operations and that the loop will run from a single cache * half-line. */ -#ifdef __ELF__ .align 8 -#else - .align 3 -#endif L_delay: subl %d1,%d0 jgt L_delay
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Thu Nov 3 14:56:39 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: unifdef __ELF__ To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 src/sys/arch/news68k/news68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Thu Nov 3 14:57:43 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: Replace (???) comments to avoid false trigraph warnings by new as(1). To generate a diff of this commit: cvs rdiff -u -r1.57 -r1.58 src/sys/arch/news68k/news68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sun May 15 16:51:09 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Some KNF. To generate a diff of this commit: cvs rdiff -u -r1.92 -r1.93 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Tue May 10 14:41:55 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: autoconf.c machdep.c Log Message: Move isrinit() call from early news68k_init() to cpu_configure(9) since interrupt service routines would want evcnt(9). To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/arch/news68k/news68k/autoconf.c cvs rdiff -u -r1.91 -r1.92 src/sys/arch/news68k/news68k/machdep.c 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/news68k/news68k/autoconf.c diff -u src/sys/arch/news68k/news68k/autoconf.c:1.19 src/sys/arch/news68k/news68k/autoconf.c:1.20 --- src/sys/arch/news68k/news68k/autoconf.c:1.19 Tue Feb 8 20:20:20 2011 +++ src/sys/arch/news68k/news68k/autoconf.c Tue May 10 14:41:55 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.19 2011/02/08 20:20:20 rmind Exp $ */ +/* $NetBSD: autoconf.c,v 1.20 2011/05/10 14:41:55 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -51,7 +51,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: autoconf.c,v 1.19 2011/02/08 20:20:20 rmind Exp $); +__KERNEL_RCSID(0, $NetBSD: autoconf.c,v 1.20 2011/05/10 14:41:55 tsutsui Exp $); #include scsibus.h @@ -68,6 +68,8 @@ #include machine/romcall.h #include machine/autoconf.h +#include news68k/news68k/isr.h + /* * The following several variables are related to * the configuration process, and are used in initializing @@ -91,6 +93,9 @@ */ (void) splhigh(); + /* Initialize the interrupt handlers. */ + isrinit(); + if (config_rootfound(mainbus, NULL) == NULL) panic(autoconfig failed, no root); Index: src/sys/arch/news68k/news68k/machdep.c diff -u src/sys/arch/news68k/news68k/machdep.c:1.91 src/sys/arch/news68k/news68k/machdep.c:1.92 --- src/sys/arch/news68k/news68k/machdep.c:1.91 Sun Mar 6 14:54:47 2011 +++ src/sys/arch/news68k/news68k/machdep.c Tue May 10 14:41:55 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.91 2011/03/06 14:54:47 tsutsui Exp $ */ +/* $NetBSD: machdep.c,v 1.92 2011/05/10 14:41:55 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: machdep.c,v 1.91 2011/03/06 14:54:47 tsutsui Exp $); +__KERNEL_RCSID(0, $NetBSD: machdep.c,v 1.92 2011/05/10 14:41:55 tsutsui Exp $); #include opt_ddb.h #include opt_compat_netbsd.h @@ -186,8 +186,6 @@ panic(impossible system type); } - isrinit(); - /* * Initialize error message buffer (at end of core). * avail_end was pre-decremented in pmap_bootstrap to compensate.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Tue May 10 14:41:55 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: autoconf.c machdep.c Log Message: Move isrinit() call from early news68k_init() to cpu_configure(9) since interrupt service routines would want evcnt(9). To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/arch/news68k/news68k/autoconf.c cvs rdiff -u -r1.91 -r1.92 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sun Jan 2 05:01:57 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: pmap_bootstrap.c Log Message: Pull code that maps the kernel segment table cache invalidated for 040/060, to reduce diffs from other m68k ports. (though news68k doesn't have 040/060 models) To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/arch/news68k/news68k/pmap_bootstrap.c 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/news68k/news68k/pmap_bootstrap.c diff -u src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.32 src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.33 --- src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.32 Sun Jun 6 04:50:07 2010 +++ src/sys/arch/news68k/news68k/pmap_bootstrap.c Sun Jan 2 05:01:57 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_bootstrap.c,v 1.32 2010/06/06 04:50:07 mrg Exp $ */ +/* $NetBSD: pmap_bootstrap.c,v 1.33 2011/01/02 05:01:57 tsutsui Exp $ */ /* * Copyright (c) 1991, 1993 @@ -41,7 +41,7 @@ #include opt_m68k_arch.h #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: pmap_bootstrap.c,v 1.32 2010/06/06 04:50:07 mrg Exp $); +__KERNEL_RCSID(0, $NetBSD: pmap_bootstrap.c,v 1.33 2011/01/02 05:01:57 tsutsui Exp $); #include sys/param.h @@ -343,11 +343,11 @@ } /* * Validate PTEs for kernel data/bss, dynamic data allocated - * by us so far (nextpa - firstpa bytes), and pages for lwp0 + * by us so far (kstpa - firstpa bytes), and pages for lwp0 * u-area and page table allocated below (RW). */ epte = (pt_entry_t *)kptpa; - epte = epte[m68k_btop(nextpa - firstpa)]; + epte = epte[m68k_btop(kstpa - firstpa)]; protopte = (protopte ~PG_PROT) | PG_RW; /* * Enable copy-back caching of data pages @@ -361,6 +361,25 @@ protopte += PAGE_SIZE; } /* + * map the kernel segment table cache invalidated for + * these machines (for the 68040 not strictly necessary, but + * recommended by Motorola; for the 68060 mandatory) + */ + epte = (pt_entry_t *)kptpa; + epte = epte[m68k_btop(nextpa - firstpa)]; + protopte = (protopte ~PG_PROT) | PG_RW; +#ifdef M68040 + if (RELOC(mmutype, int) == MMU_68040) { + protopte = ~PG_CCB; + protopte |= PG_CIN; + } +#endif + while (pte epte) { + *pte++ = protopte; + protopte += PAGE_SIZE; + } + + /* * Finally, validate the internal IO space PTEs (RW+CI). */
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sun Jan 2 05:09:28 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: pmap_bootstrap.c Log Message: Remove disabled code for VAC. No such news68k models. To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/sys/arch/news68k/news68k/pmap_bootstrap.c 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/news68k/news68k/pmap_bootstrap.c diff -u src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.33 src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.34 --- src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.33 Sun Jan 2 05:01:57 2011 +++ src/sys/arch/news68k/news68k/pmap_bootstrap.c Sun Jan 2 05:09:27 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_bootstrap.c,v 1.33 2011/01/02 05:01:57 tsutsui Exp $ */ +/* $NetBSD: pmap_bootstrap.c,v 1.34 2011/01/02 05:09:27 tsutsui Exp $ */ /* * Copyright (c) 1991, 1993 @@ -41,7 +41,7 @@ #include opt_m68k_arch.h #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: pmap_bootstrap.c,v 1.33 2011/01/02 05:01:57 tsutsui Exp $); +__KERNEL_RCSID(0, $NetBSD: pmap_bootstrap.c,v 1.34 2011/01/02 05:09:27 tsutsui Exp $); #include sys/param.h @@ -58,9 +58,6 @@ extern int maxmem, physmem; extern paddr_t avail_start, avail_end; -#if 0 -extern int pmap_aliasmask; -#endif void pmap_bootstrap(paddr_t, paddr_t); @@ -439,16 +436,6 @@ RELOC(virtual_end, vaddr_t) = VM_MAX_KERNEL_ADDRESS; -#if 0 - /* - * Determine VA aliasing distance if any - * - * XXX Are there any models which have VAC? - */ - if (RELOC(ectype, int) == EC_VIRT) { - RELOC(pmap_aliasmask, int) = 0x3fff; /* 16k */ - } -#endif #ifdef news1700 if (RELOC(systype, int) == NEWS1700) { RELOC(cache_ctl, uint8_t *) = 0xe130 - INTIOBASE1700 +
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sun Jan 2 05:09:28 UTC 2011 Modified Files: src/sys/arch/news68k/news68k: pmap_bootstrap.c Log Message: Remove disabled code for VAC. No such news68k models. To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/sys/arch/news68k/news68k/pmap_bootstrap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Thu Oct 14 16:31:16 UTC 2010 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Prepare empty module_init_md() for options MODULAR. To generate a diff of this commit: cvs rdiff -u -r1.85 -r1.86 src/sys/arch/news68k/news68k/machdep.c 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/news68k/news68k/machdep.c diff -u src/sys/arch/news68k/news68k/machdep.c:1.85 src/sys/arch/news68k/news68k/machdep.c:1.86 --- src/sys/arch/news68k/news68k/machdep.c:1.85 Mon Feb 8 19:02:30 2010 +++ src/sys/arch/news68k/news68k/machdep.c Thu Oct 14 16:31:16 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.85 2010/02/08 19:02:30 joerg Exp $ */ +/* $NetBSD: machdep.c,v 1.86 2010/10/14 16:31:16 tsutsui Exp $ */ /* * Copyright (c) 1982, 1986, 1990, 1993 @@ -77,7 +77,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: machdep.c,v 1.85 2010/02/08 19:02:30 joerg Exp $); +__KERNEL_RCSID(0, $NetBSD: machdep.c,v 1.86 2010/10/14 16:31:16 tsutsui Exp $); #include opt_ddb.h #include opt_compat_netbsd.h @@ -101,6 +101,7 @@ #include sys/core.h #include sys/kcore.h #include sys/ksyms.h +#include sys/module.h #ifdef DDB #include machine/db_machdep.h @@ -1081,3 +1082,13 @@ Debugger(); #endif } + +#ifdef MODULAR +/* + * Push any modules loaded by the bootloader etc. + */ +void +module_init_md(void) +{ +} +#endif
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Thu Oct 14 16:31:16 UTC 2010 Modified Files: src/sys/arch/news68k/news68k: machdep.c Log Message: Prepare empty module_init_md() for options MODULAR. To generate a diff of this commit: cvs rdiff -u -r1.85 -r1.86 src/sys/arch/news68k/news68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Sat Dec 12 09:54:42 UTC 2009 Modified Files: src/sys/arch/news68k/news68k: locore.s Log Message: Allow NetBSD/news68k kernel work with PGSHIFT==13, i.e. 8KB/page. Tested on NWS-1750 with 68030. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 src/sys/arch/news68k/news68k/locore.s 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/news68k/news68k/locore.s diff -u src/sys/arch/news68k/news68k/locore.s:1.50 src/sys/arch/news68k/news68k/locore.s:1.51 --- src/sys/arch/news68k/news68k/locore.s:1.50 Fri Dec 11 18:28:35 2009 +++ src/sys/arch/news68k/news68k/locore.s Sat Dec 12 09:54:42 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.50 2009/12/11 18:28:35 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.51 2009/12/12 09:54:42 tsutsui Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -423,7 +423,11 @@ .long 0x4e7b0007 | movc %d0,%dtt1 .word 0xf4d8 | cinva bc .word 0xf518 | pflusha +#if PGSHIFT == 13 + movl #0xc000,%d0 +#else movl #0x8000,%d0 +#endif .long 0x4e7b0003 | movc %d0,%tc movl #CACHE40_ON,%d0 movc %d0,%cacr | turn on both caches @@ -435,7 +439,11 @@ .long 0xf0100800 | pmove %a0@,%tt0 #endif RELOC(prototc, %a2) +#if PGSHIFT == 13 + movl #0x82d08b00,%a2@ | value to load TC with +#else movl #0x82c0aa00,%a2@ | value to load TC with +#endif pmove %a2@,%tc | load it /*
CVS commit: src/sys/arch/news68k/news68k
Module Name:src Committed By: tsutsui Date: Wed Dec 2 15:54:19 UTC 2009 Modified Files: src/sys/arch/news68k/news68k: locore.s pmap_bootstrap.c Log Message: Use common pmap_bootstrap_finalize() to initialize lwp0 uarea etc. Tested on NWS-1750. To generate a diff of this commit: cvs rdiff -u -r1.48 -r1.49 src/sys/arch/news68k/news68k/locore.s cvs rdiff -u -r1.23 -r1.24 src/sys/arch/news68k/news68k/pmap_bootstrap.c 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/news68k/news68k/locore.s diff -u src/sys/arch/news68k/news68k/locore.s:1.48 src/sys/arch/news68k/news68k/locore.s:1.49 --- src/sys/arch/news68k/news68k/locore.s:1.48 Thu Nov 26 00:19:19 2009 +++ src/sys/arch/news68k/news68k/locore.s Wed Dec 2 15:54:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.48 2009/11/26 00:19:19 matt Exp $ */ +/* $NetBSD: locore.s,v 1.49 2009/12/02 15:54:19 tsutsui Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -445,13 +445,13 @@ /* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack jbsr _C_LABEL(uvm_setpagesize) | select software page size -/* set kernel stack, user SP, and initial pcb */ - lea _C_LABEL(lwp0),%a2 | get lwp0.l_addr - movl %a2@(L_ADDR),%a1 | set kernel stack to end of area - lea %a1@(USPACE-4),%sp | and curlwp so that we don't - movl %a2,_C_LABEL(curlwp) | deref NULL in trap() +/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ + jbsr _C_LABEL(pmap_bootstrap_finalize) +/* set kernel stack, user SP */ + movl _C_LABEL(lwp0uarea),%a1 | get lwp0 uarea + lea %a1@(USPACE-4),%sp | set kernel stack to end of area + movl #USRSTACK-4,%a2 movl %a2,%usp | init user SP - movl %a1,_C_LABEL(curpcb) | lwp0 is running tstl _C_LABEL(fputype) | Have an FPU? jeq Lenab2 | No, skip. Index: src/sys/arch/news68k/news68k/pmap_bootstrap.c diff -u src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.23 src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.24 --- src/sys/arch/news68k/news68k/pmap_bootstrap.c:1.23 Thu Nov 26 00:19:19 2009 +++ src/sys/arch/news68k/news68k/pmap_bootstrap.c Wed Dec 2 15:54:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_bootstrap.c,v 1.23 2009/11/26 00:19:19 matt Exp $ */ +/* $NetBSD: pmap_bootstrap.c,v 1.24 2009/12/02 15:54:19 tsutsui Exp $ */ /* * Copyright (c) 1991, 1993 @@ -39,7 +39,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: pmap_bootstrap.c,v 1.23 2009/11/26 00:19:19 matt Exp $); +__KERNEL_RCSID(0, $NetBSD: pmap_bootstrap.c,v 1.24 2009/12/02 15:54:19 tsutsui Exp $); #include sys/param.h @@ -89,7 +89,7 @@ void pmap_bootstrap(paddr_t nextpa, paddr_t firstpa) { - paddr_t kstpa, kptpa, kptmpa, l0upa; + paddr_t kstpa, kptpa, kptmpa, lwp0upa; u_int nptpages, kstsize; st_entry_t protoste, *ste; pt_entry_t protopte, *pte, *epte; @@ -110,7 +110,7 @@ * * kptmpa kernel PT map 1 page * - * l0upa lwp 0 u-area UPAGES pages + * lwp0upa lwp 0 u-area UPAGES pages * * The KVA corresponding to any of these PAs is: * (PA - firstpa + KERNBASE). @@ -136,7 +136,7 @@ nextpa += kstsize * PAGE_SIZE; kptmpa = nextpa; nextpa += PAGE_SIZE; - l0upa = nextpa; + lwp0upa = nextpa; nextpa += USPACE; kptpa = nextpa; nptpages = RELOC(Sysptsize, int) + @@ -306,7 +306,7 @@ } /* * Validate PTEs for kernel data/bss, dynamic data allocated - * by us so far (nextpa - firstpa bytes), and pages for proc0 + * by us so far (nextpa - firstpa bytes), and pages for lwp0 * u-area and page table allocated below (RW). */ epte = ((u_int *)kptpa)[m68k_btop(nextpa - firstpa)]; @@ -361,21 +361,21 @@ (pt_entry_t *)m68k_ptob((NPTEPG - 1) * NPTEPG); /* - * Setup u-area for process 0. + * Setup u-area for lwp 0. */ /* * Zero the u-area. * NOTE: `pte' and `epte' aren't PTEs here. */ - pte = (u_int *)l0upa; - epte = (u_int *)(l0upa + USPACE); + pte = (u_int *)lwp0upa; + epte = (u_int *)(lwp0upa + USPACE); while (pte epte) *pte++ = 0; /* - * Remember the u-area address so it can be loaded in the - * proc struct p_addr field later. + * Remember the u-area address so it can be loaded in the lwp0 + * via uvm_lwp_setuarea() later in pmap_bootstrap_finalize(). */ - RELOC(lwp0.l_addr, struct user *) = (struct user *)(l0upa - firstpa); + RELOC(lwp0uarea, vaddr_t) = lwp0upa - firstpa; /* * VM data structures are now initialized, set up data for