Module Name: src Committed By: tsutsui Date: Fri Dec 29 02:30:36 UTC 2023
Modified Files: src/sys/arch/luna68k/include: pmap.h src/sys/arch/luna68k/luna68k: genassym.cf locore.s Log Message: Use proper macro for the 030/040 TT registers to map LUNA's I/O spaces. No binary change. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/luna68k/include/pmap.h cvs rdiff -u -r1.25 -r1.26 src/sys/arch/luna68k/luna68k/genassym.cf cvs rdiff -u -r1.71 -r1.72 src/sys/arch/luna68k/luna68k/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/luna68k/include/pmap.h diff -u src/sys/arch/luna68k/include/pmap.h:1.10 src/sys/arch/luna68k/include/pmap.h:1.11 --- src/sys/arch/luna68k/include/pmap.h:1.10 Sun Nov 3 19:56:29 2002 +++ src/sys/arch/luna68k/include/pmap.h Fri Dec 29 02:30:35 2023 @@ -1,3 +1,38 @@ -/* $NetBSD: pmap.h,v 1.10 2002/11/03 19:56:29 chs Exp $ */ +/* $NetBSD: pmap.h,v 1.11 2023/12/29 02:30:35 tsutsui Exp $ */ + +#ifndef _LUNA68K_PMAP_H_ #include <m68k/pmap_motorola.h> +#include <m68k/mmu_30.h> + +/* + * Transparent translation register values for IO space 0x40000000-0xffffffff + * + * map via TT0: 0x40000000-0x7fffffff + * map via TT1: 0x80000000-0xffffffff + * + * On 030 both use Function Codes 4-7 (to get SUPERD and SUPERP). + * XXX: they can probably just use SUPERD. + */ + +#define LUNA68K_TT30_IO0 (0x40000000 | \ + __SHIFTIN(0x3f,TT30_LAM) | \ + TT30_E | TT30_CI | TT30_RWM | \ + __SHIFTIN(4,TT30_FCBASE) | \ + __SHIFTIN(3,TT30_FCMASK)) +#define LUNA68K_TT30_IO1 (0x80000000 | \ + __SHIFTIN(0x7f,TT30_LAM) | \ + TT30_E | TT30_CI | TT30_RWM | \ + __SHIFTIN(4,TT30_FCBASE) | \ + __SHIFTIN(3,TT30_FCMASK)) + +#define LUNA68K_TT40_IO0 (0x40000000 | \ + __SHIFTIN(0x3f,TTR40_LAM) | \ + TTR40_E | TTR40_SUPER | \ + PTE40_CM_NC_SER) +#define LUNA68K_TT40_IO1 (0x80000000 | \ + __SHIFTIN(0x7f,TTR40_LAM) | \ + TTR40_E | TTR40_SUPER | \ + PTE40_CM_NC_SER) + +#endif /* _LUNA68K_PMAP_H_ */ Index: src/sys/arch/luna68k/luna68k/genassym.cf diff -u src/sys/arch/luna68k/luna68k/genassym.cf:1.25 src/sys/arch/luna68k/luna68k/genassym.cf:1.26 --- src/sys/arch/luna68k/luna68k/genassym.cf:1.25 Wed Dec 27 17:35:35 2023 +++ src/sys/arch/luna68k/luna68k/genassym.cf Fri Dec 29 02:30:36 2023 @@ -1,4 +1,4 @@ -# $NetBSD: genassym.cf,v 1.25 2023/12/27 17:35:35 thorpej Exp $ +# $NetBSD: genassym.cf,v 1.26 2023/12/29 02:30:36 tsutsui Exp $ # # Copyright (c) 1982, 1990, 1993 @@ -91,6 +91,12 @@ export MMU51_CRP_BITS export MMU51_TCR_BITS export MMU40_TCR_BITS +# Transparent translation register values (from pmap.h) +export LUNA68K_TT30_IO0 +export LUNA68K_TT30_IO1 +export LUNA68K_TT40_IO0 +export LUNA68K_TT40_IO1 + # lwp & proc fields and values define L_PCB offsetof(struct lwp, l_addr) define L_PROC offsetof(struct lwp, l_proc) Index: src/sys/arch/luna68k/luna68k/locore.s diff -u src/sys/arch/luna68k/luna68k/locore.s:1.71 src/sys/arch/luna68k/luna68k/locore.s:1.72 --- src/sys/arch/luna68k/luna68k/locore.s:1.71 Wed Dec 27 03:03:41 2023 +++ src/sys/arch/luna68k/luna68k/locore.s Fri Dec 29 02:30:36 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.71 2023/12/27 03:03:41 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.72 2023/12/29 02:30:36 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -898,16 +898,16 @@ GLOBAL(protocrp) GLOBAL(prototc) .long MMU51_TCR_BITS | %tc -- see pmap.h -GLOBAL(protott0) | tt0 0x4000.0000-0x7fff.ffff - .long 0x403f8543 | -GLOBAL(protott1) | tt1 0x8000.0000-0xffff.ffff - .long 0x807f8543 | +GLOBAL(protott0) + .long LUNA68K_TT30_IO0 | prototype transparent translation register 0 +GLOBAL(protott1) + .long LUNA68K_TT30_IO1 | prototype transparent translation register 1 GLOBAL(proto040tc) .long MMU40_TCR_BITS | %tc -- see pmap.h -GLOBAL(proto040tt0) | tt0 0x4000.0000-0x7fff.ffff - .long 0x403fa040 | kernel only, cache inhibit, serialized -GLOBAL(proto040tt1) | tt1 0x8000.0000-0xffff.ffff - .long 0x807fa040 | kernel only, cache inhibit, serialized +GLOBAL(proto040tt0) + .long LUNA68K_TT40_IO0 | prototype transparent translation register 0 +GLOBAL(proto040tt1) + .long LUNA68K_TT40_IO1 | prototype transparent translation register 1 nullrp: .long 0x7fff0001 | do-nothing MMU root pointer