The NetBSD Project

CVS log for src/sys/arch/riscv/riscv/locore.S

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / riscv / riscv

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.45 / (download) - annotate - [select for diffs], Fri Feb 9 22:08:33 2024 UTC (6 weeks, 6 days ago) by andvar
Branch: MAIN
CVS Tags: HEAD
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored) to selected 1.5.4.1 (colored)

fix spelling mistakes, mainly in comments and log messages.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Feb 2 22:00:34 2024 UTC (7 weeks, 6 days ago) by andvar
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored) to selected 1.5.4.1 (colored)

fix various typos in comments.

Revision 1.43 / (download) - annotate - [select for diffs], Sun Sep 3 08:48:20 2023 UTC (6 months, 3 weeks ago) by skrll
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation
Changes since 1.42: +9 -27 lines
Diff to previous 1.42 (colored) to selected 1.5.4.1 (colored)

Fix and enable MULTIPROCESSOR

Revision 1.42 / (download) - annotate - [select for diffs], Mon Jun 12 19:04:14 2023 UTC (9 months, 2 weeks ago) by skrll
Branch: MAIN
Changes since 1.41: +206 -36 lines
Diff to previous 1.41 (colored) to selected 1.5.4.1 (colored)

risc-v: MULTIPROCESSOR support

Add MULTIPROCESSOR support for RISC-V, but leave disabled for the moment
as it's not 100% stable.

Some other improvements to spl and cpu identification / reporting.

Revision 1.41 / (download) - annotate - [select for diffs], Sun May 7 12:41:49 2023 UTC (10 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.40: +24 -28 lines
Diff to previous 1.40 (colored) to selected 1.5.4.1 (colored)

RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).

Revision 1.40 / (download) - annotate - [select for diffs], Sat Nov 19 09:55:11 2022 UTC (16 months, 1 week ago) by skrll
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10
Changes since 1.39: +8 -6 lines
Diff to previous 1.39 (colored) to selected 1.5.4.1 (colored)

Fix CONSADDR and save a label

Revision 1.39 / (download) - annotate - [select for diffs], Sun Oct 16 06:14:53 2022 UTC (17 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.38: +17 -7 lines
Diff to previous 1.38 (colored) to selected 1.5.4.1 (colored)

Map the DTB using VM_KERNEL_DTB_BASE and CONSADDR using VM_KERNEL_IO_BASE

Revision 1.38 / (download) - annotate - [select for diffs], Sun Oct 16 06:03:14 2022 UTC (17 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored) to selected 1.5.4.1 (colored)

Use a local label

Revision 1.37 / (download) - annotate - [select for diffs], Sun Oct 16 05:56:50 2022 UTC (17 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.36: +10 -12 lines
Diff to previous 1.36 (colored) to selected 1.5.4.1 (colored)

More register re-org

Revision 1.36 / (download) - annotate - [select for diffs], Sun Oct 16 05:48:15 2022 UTC (17 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored) to selected 1.5.4.1 (colored)

Fix after register re-org

Revision 1.35 / (download) - annotate - [select for diffs], Sat Oct 15 16:58:16 2022 UTC (17 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.34: +8 -8 lines
Diff to previous 1.34 (colored) to selected 1.5.4.1 (colored)

More register use re-org.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Oct 15 16:34:29 2022 UTC (17 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.33: +10 -10 lines
Diff to previous 1.33 (colored) to selected 1.5.4.1 (colored)

Shuffle some register usage

Revision 1.33 / (download) - annotate - [select for diffs], Sat Oct 15 16:29:56 2022 UTC (17 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.32: +7 -7 lines
Diff to previous 1.32 (colored) to selected 1.5.4.1 (colored)

Comment re-arragement

Revision 1.32 / (download) - annotate - [select for diffs], Sat Oct 15 16:20:32 2022 UTC (17 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.31: +1 -4 lines
Diff to previous 1.31 (colored) to selected 1.5.4.1 (colored)

Remove unnecessary register assignments

Revision 1.31 / (download) - annotate - [select for diffs], Fri Oct 14 08:10:22 2022 UTC (17 months, 2 weeks ago) by skrll
Branch: MAIN
Changes since 1.30: +10 -8 lines
Diff to previous 1.30 (colored) to selected 1.5.4.1 (colored)

Pretty print

Revision 1.30 / (download) - annotate - [select for diffs], Fri Oct 14 07:58:30 2022 UTC (17 months, 2 weeks ago) by skrll
Branch: MAIN
Changes since 1.29: +1 -391 lines
Diff to previous 1.29 (colored) to selected 1.5.4.1 (colored)

Split out a bunch of functions from locore.S into cpu_switch.S

NFC

Revision 1.29 / (download) - annotate - [select for diffs], Fri Sep 30 06:23:59 2022 UTC (17 months, 4 weeks ago) by skrll
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored) to selected 1.5.4.1 (colored)

Don't set A, D in page table pointers, but do set them in leaf entries.

Beagle-v now boots to the msgbufaddr panic same as qemu

Revision 1.28 / (download) - annotate - [select for diffs], Wed Sep 28 06:05:28 2022 UTC (18 months ago) by skrll
Branch: MAIN
Changes since 1.27: +13 -2 lines
Diff to previous 1.27 (colored) to selected 1.5.4.1 (colored)

Use legacy SBI Console GetChar for earlycons.  It works on qemu.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Sep 28 05:02:02 2022 UTC (18 months ago) by skrll
Branch: MAIN
Changes since 1.26: +9 -3 lines
Diff to previous 1.26 (colored) to selected 1.5.4.1 (colored)

Fix RV32 so it gets to the same point as RV64

Revision 1.26 / (download) - annotate - [select for diffs], Tue Sep 27 08:18:21 2022 UTC (18 months ago) by skrll
Branch: MAIN
Changes since 1.25: +3 -1 lines
Diff to previous 1.25 (colored) to selected 1.5.4.1 (colored)

Basic ddb and backtrace support.

[   1.0000000] panic: kernel diagnostic assertion "msgbufaddr != 0" failed: file "/home/nick/netbsd/nbcvs/src/sys/arch/riscv/riscv/riscv_machdep.c", line 564
[   1.0000000] cpu0: Begin traceback...
[   1.0000000] trace fp ffffffc000801dd0
[   1.0000000] fp ffffffc000801e10 ?() at ffffffc0001eee98
[   1.0000000] fp ffffffc000801e30 ?() at ffffffc0002ad984
[   1.0000000] fp ffffffc000801ee0 ?() at ffffffc000005430
[   1.0000000] cpu0: End traceback...
[   1.0000000] Trapframe @ 0xffffffc000801cb0 (cause=3 (breakpoint), status=0x100, pc=0xffffffc0000007e4, va=0):
[   1.0000000] ra =0xffffffc0001eee9c, sp =0xffffffc000801dd0, gp =0xffffffc0006a8f40, tp =                 0
[   1.0000000] s0 =0xffffffc000600ac0, s1 =            0x1000, s2 =0xffffffc000438df0, s3 =0xffffffc000801d80
[   1.0000000] s4 =0xffffffc0001eed78, s5 =0xffffffc0006d55f8, s6 =0xffffffc000801d88, s7 =0xffffffc0006dfdb8
[   1.0000000] s8 =0xffffffc000428c18, s9 =0xffffffc000801dd0, s10=0xffffffc0000a3822, s11=0xffffffc0006d55f8
[   1.0000000] a0 =              0x17, a1 =               0xa, a2 =                 0, a3 =0xffffffc00041f658
[   1.0000000] a4 =                 0, a5 =               0x1, a5 =                 0, a7 =               0x1
[   1.0000000] t0 =0xffffffc0006dfe30, t1 =0xffffffc000801bb8, t2 =0xffffffc000803000, t3 =              0x75
[   1.0000000] t4 =                 0, t5 =              0x63, t6 =               0x1
[   1.0000000] kernel: breakpoint
Stopped in pid 0.0 (system) at  ffffffc0000007e4:       c.ebreak
db>

Revision 1.25 / (download) - annotate - [select for diffs], Tue Sep 20 07:18:23 2022 UTC (18 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.24: +470 -71 lines
Diff to previous 1.24 (colored) to selected 1.5.4.1 (colored)

Checkpoint WIP.

QEMU RV64 virt can boot into virtual mode

OpenSBI v1.0
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name             : riscv-virtio,qemu
Platform Features         : medeleg
Platform HART Count       : 1
Platform IPI Device       : aclint-mswi
Platform Timer Device     : aclint-mtimer @ 10000000Hz
Platform Console Device   : uart8250
Platform HSM Device       : ---
Platform Reboot Device    : sifive_test
Platform Shutdown Device  : sifive_test
Firmware Base             : 0x80000000
Firmware Size             : 252 KB
Runtime SBI Version       : 0.3

Domain0 Name              : root
Domain0 Boot HART         : 0
Domain0 HARTs             : 0*
Domain0 Region00          : 0x0000000002000000-0x000000000200ffff (I)
Domain0 Region01          : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02          : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address      : 0x0000000080200000
Domain0 Next Arg1         : 0x00000000bfe00000
Domain0 Next Mode         : S-mode
Domain0 SysReset          : yes

Boot HART ID              : 0
Boot HART Domain          : root
Boot HART ISA             : rv64imafdcsuh
Boot HART Features        : scounteren,mcounteren,mcountinhibit,time
Boot HART PMP Count       : 16
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 54
Boot HART MHPM Count      : 16
Boot HART MIDELEG         : 0x0000000000001666
Boot HART MEDELEG         : 0x0000000000f0b509

------------
NetBSD start

sp:      0x0000_0000_80a0_2000
pc:      0x0000_0000_8020_0090
hart:    0x0000_0000_0000_0000
dtb:     0x0000_0000_bfe0_0000
l1:      0x0000_0000_80a0_2000
l2:      0x0000_0000_80a0_3000
uspace:  0x0000_0000_80a0_0000
bootstk: 0x0000_0000_80a0_2000
vtopdiff:0xffff_ffbf_7fe0_0000

bss:     0x0000_0000_808a_8bdc - 0x0000_0000_80a0_4000

0x0000_0000_80a0_3800: 0x0000_0000_2028_0821

kern 0x0000_0000_80a0_2000: 0x0000_0000_2008_002f
kern 0x0000_0000_80a0_2008: 0x0000_0000_2010_002f
kern 0x0000_0000_80a0_2010: 0x0000_0000_2018_002f
kern 0x0000_0000_80a0_2018: 0x0000_0000_2020_002f
kern 0x0000_0000_80a0_2020: 0x0000_0000_2028_002f
kern 0x0000_0000_80a0_2028: 0x0000_0000_2030_002f
kern 0x0000_0000_80a0_2030: 0x0000_0000_2038_002f
kern 0x0000_0000_80a0_2038: 0x0000_0000_2040_002f
kern 0x0000_0000_80a0_2040: 0x0000_0000_2048_002f
kern 0x0000_0000_80a0_2048: 0x0000_0000_2050_002f
kern 0x0000_0000_80a0_2050: 0x0000_0000_2058_002f
kern 0x0000_0000_80a0_2058: 0x0000_0000_2060_002f
kern 0x0000_0000_80a0_2060: 0x0000_0000_2068_002f
kern 0x0000_0000_80a0_2068: 0x0000_0000_2070_002f
kern 0x0000_0000_80a0_2070: 0x0000_0000_2078_002f
kern 0x0000_0000_80a0_2078: 0x0000_0000_2080_002f
dtb  0x0000_0000_80a0_2080: 0x0000_0000_2ff8_0027
PM
[   1.0000000] FDT<0xffffffc002000000>
[   1.0000000] consinit ok
[   1.0000000] NetBSD/riscv (fdt) booting ...
[   1.0000000] FDT /memory @ 0x80000000 size 0x40000000
[   1.0000000] init_riscv: memory start 80000000 end c0000000 (len 40000000)
[   1.0000000] bootargs: root=ld4a -v -x
[   1.0000000] bootflag 'r' not recognised
[   1.0000000] bootflag 'o' not recognised
[   1.0000000] bootflag 'o' not recognised
[   1.0000000] bootflag 't' not recognised
[   1.0000000] bootflag '=' not recognised
[   1.0000000] bootflag 'l' not recognised
[   1.0000000] bootflag ' ' not recognised
[   1.0000000] bootflag ' ' not recognised
[   1.0000000] ------------------------------------------
[   1.0000000]            kern_vtopdiff = 0xffffffbf7fe00000
[   1.0000000]             memory_start = 0x        80000000
[   1.0000000]               memory_end = 0x        c0000000
[   1.0000000]              memory_size = 0x        40000000
[   1.0000000]           kernstart_phys = 0x        80200000
[   1.0000000]             kernend_phys = 0x        80a00000
[   1.0000000]    VM_MIN_KERNEL_ADDRESS = 0xffffffc000000000
[   1.0000000]           kernstart_mega = 0xffffffc000000000
[   1.0000000]                kernstart = 0xffffffc000000000
[   1.0000000]                  kernend = 0xffffffc000800000
[   1.0000000]             kernend_mega = 0xffffffc000800000
[   1.0000000]    VM_MAX_KERNEL_ADDRESS = 0xffffffd000000000
[   1.0000000] ------------------------------------------
[   1.0000000] panic: kernel diagnostic assertion "msgbufaddr != 0" failed: file "/home/nick/netbsd/nbcvs/src/sys/arch/riscv/riscv/riscv_machdep.c", line 564

Revision 1.24 / (download) - annotate - [select for diffs], Sun Apr 10 09:50:45 2022 UTC (23 months, 2 weeks ago) by andvar
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored) to selected 1.5.4.1 (colored)

fix various typos in comments and output/log messages.

Revision 1.23 / (download) - annotate - [select for diffs], Tue Aug 3 23:12:14 2021 UTC (2 years, 7 months ago) by andvar
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-futex2-base, thorpej-futex2
Changes since 1.22: +6 -6 lines
Diff to previous 1.22 (colored) to selected 1.5.4.1 (colored)

Fix various typos in comments. Also add missing NetBSD RCS Id in some of these files.

Revision 1.20.4.2 / (download) - annotate - [select for diffs], Thu Jun 17 04:46:24 2021 UTC (2 years, 9 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.20.4.1: +4 -4 lines
Diff to previous 1.20.4.1 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored) to selected 1.5.4.1 (colored)

Sync w/ HEAD.

Revision 1.21.2.1 / (download) - annotate - [select for diffs], Mon May 31 22:15:15 2021 UTC (2 years, 9 months ago) by cjep
Branch: cjep_staticlib_x
Changes since 1.21: +4 -4 lines
Diff to previous 1.21 (colored) next main 1.22 (colored) to selected 1.5.4.1 (colored)

sync with head

Revision 1.22 / (download) - annotate - [select for diffs], Sun May 16 09:02:04 2021 UTC (2 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf-base, thorpej-cfargs2-base, thorpej-cfargs2, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1
Changes since 1.21: +4 -4 lines
Diff to previous 1.21 (colored) to selected 1.5.4.1 (colored)

s/ENTRY/ENTRY_NP/ in a few places

Revision 1.20.4.1 / (download) - annotate - [select for diffs], Thu May 13 00:47:27 2021 UTC (2 years, 10 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.20: +2 -3 lines
Diff to previous 1.20 (colored) to selected 1.5.4.1 (colored)

Sync with HEAD.

Revision 1.21 / (download) - annotate - [select for diffs], Sat May 1 07:10:34 2021 UTC (2 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: cjep_staticlib_x-base
Branch point for: cjep_staticlib_x
Changes since 1.20: +2 -3 lines
Diff to previous 1.20 (colored) to selected 1.5.4.1 (colored)

Quick hack to make this link

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Dec 14 14:38:00 2020 UTC (3 years, 3 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.13: +15 -35 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.5.4.1 (colored)

Sync w/ HEAD.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Nov 8 10:08:28 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-cfargs-base, thorpej-cfargs
Branch point for: thorpej-i2c-spi-conf
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored) to selected 1.5.4.1 (colored)

Fix register usage

Revision 1.19 / (download) - annotate - [select for diffs], Sun Nov 8 08:12:17 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) to selected 1.5.4.1 (colored)

Fix a typo

Revision 1.18 / (download) - annotate - [select for diffs], Sun Nov 8 08:11:15 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored) to selected 1.5.4.1 (colored)

Remove unnecessary local labels

Revision 1.17 / (download) - annotate - [select for diffs], Sun Nov 8 08:07:43 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored) to selected 1.5.4.1 (colored)

Use correct instruction to load address of exception_userexit into RA

Revision 1.16 / (download) - annotate - [select for diffs], Wed Nov 4 20:05:47 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.15: +1 -10 lines
Diff to previous 1.15 (colored) to selected 1.5.4.1 (colored)

Miscellaneous updates to reflect riscv-privileged-20190608.pdf

Some from zmcgrew@

Revision 1.15 / (download) - annotate - [select for diffs], Wed Nov 4 07:09:46 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored) to selected 1.5.4.1 (colored)

RCSID and whitespace police...

Revision 1.14 / (download) - annotate - [select for diffs], Wed Nov 4 06:56:56 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.13: +12 -24 lines
Diff to previous 1.13 (colored) to selected 1.5.4.1 (colored)

Miscellaneous updates to reflect riscv-privileged-20190608.pdf

Some from zmcgrew@

Revision 1.13 / (download) - annotate - [select for diffs], Sat Oct 31 15:18:09 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.12: +13 -13 lines
Diff to previous 1.12 (colored) to selected 1.5.4.1 (colored)

Use the 'mv' pseudo-instruction instead of the 'move' equivalent as 'mv'
is mentioned in the ISA documentation and it's used elsewhere.  That is,
let's use 'mv' everywhere for consistency.

Revision 1.7.4.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:05 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.7.4.2: +7 -5 lines
Diff to previous 1.7.4.2 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored) to selected 1.5.4.1 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.7.4.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:51 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.7.4.1: +5 -8 lines
Diff to previous 1.7.4.1 (colored) to branchpoint 1.7 (colored) to selected 1.5.4.1 (colored)

Merge changes from current as of 20200406

Revision 1.12 / (download) - annotate - [select for diffs], Sat Mar 14 16:12:16 2020 UTC (4 years ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.11: +4 -4 lines
Diff to previous 1.11 (colored) to selected 1.5.4.1 (colored)

Trailing whitespace

Revision 1.9.4.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:27 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.9: +2 -5 lines
Diff to previous 1.9 (colored) next main 1.10 (colored) to selected 1.5.4.1 (colored)

Sync with head.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Jan 8 20:59:19 2020 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1
Changes since 1.10: +2 -4 lines
Diff to previous 1.10 (colored) to selected 1.5.4.1 (colored)

oldlwp is always non-NULL in cpu_switchto so remove the test for NULL.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Jan 8 17:38:42 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.9: +1 -2 lines
Diff to previous 1.9 (colored) to selected 1.5.4.1 (colored)

Hopefully fix some problems seen with MP support on non-x86, in particular
where curcpu() is defined as curlwp->l_cpu:

- mi_switch(): undo the ~2007ish optimisation to unlock curlwp before
  calling cpu_switchto().  It's not safe to let other actors mess with the
  LWP (in particular l->l_cpu) while it's still context switching.  This
  removes l->l_ctxswtch.

- Move the LP_RUNNING flag into l->l_flag and rename to LW_RUNNING since
  it's now covered by the LWP's lock.

- Ditch lwp_exit_switchaway() and just call mi_switch() instead.  Everything
  is in cache anyway so it wasn't buying much by trying to avoid saving old
  state.  This means cpu_switchto() will never be called with prevlwp ==
  NULL.

- Remove some KERNEL_LOCK handling which hasn't been needed for years.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Jun 16 07:42:52 2019 UTC (4 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20191119, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.8: +8 -6 lines
Diff to previous 1.8 (colored) to selected 1.5.4.1 (colored)

Misc changes in RISC-V.

Revision 1.7.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:41 2019 UTC (4 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.7: +7 -3 lines
Diff to previous 1.7 (colored) to selected 1.5.4.1 (colored)

Sync with HEAD

Revision 1.8 / (download) - annotate - [select for diffs], Sat Jun 1 12:42:28 2019 UTC (4 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20190609
Changes since 1.7: +7 -3 lines
Diff to previous 1.7 (colored) to selected 1.5.4.1 (colored)

Misc changes in RISC-V. Start changing the memory layout, too.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Feb 5 10:41:12 2018 UTC (6 years, 1 month ago) by maya
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored) to selected 1.5.4.1 (colored)

Fix tyop

Revision 1.6.14.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:39 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.6.14.1: +563 -0 lines
Diff to previous 1.6.14.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.5.4.1 (colored)

update from HEAD

Revision 1.5.2.3 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:19 2017 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.5.2.2: +2 -2 lines
Diff to previous 1.5.2.2 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored) to selected 1.5.4.1 (colored)

Sync with HEAD

Revision 1.5.4.1 / (download) - annotate - [selected], Sat Jan 7 08:56:24 2017 UTC (7 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored) next main 1.6 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.6.14.1, Mon Dec 5 07:24:16 2016 UTC (7 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.6: +0 -563 lines
FILE REMOVED

file locore.S was added on branch tls-maxphys on 2017-12-03 11:36:39 +0000

Revision 1.6 / (download) - annotate - [select for diffs], Mon Dec 5 07:24:16 2016 UTC (7 years, 3 months ago) by kamil
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: tls-maxphys
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored) to selected 1.5.4.1 (colored)

Fix cpu_switchto(9) prototype in a comment

Revision 1.5.2.2 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:01 2015 UTC (8 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.5.2.1: +563 -0 lines
Diff to previous 1.5.2.1 (colored) to branchpoint 1.5 (colored) to selected 1.5.4.1 (colored)

Sync with HEAD

Revision 1.5.2.1, Tue Mar 31 11:53:13 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.5: +0 -563 lines
FILE REMOVED

file locore.S was added on branch nick-nhusb on 2015-04-06 15:18:01 +0000

Revision 1.5 / (download) - annotate - [select for diffs], Tue Mar 31 11:53:13 2015 UTC (9 years ago) by matt
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, localcount-20160914
Branch point for: pgoyette-localcount, nick-nhusb
Changes since 1.4: +5 -5 lines
Diff to previous 1.4 (colored) to selected 1.5.4.1 (colored)

Accept the one instruction penalty and just use PTR_LA instead of doing
the relocs ourselves.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Mar 31 11:48:10 2015 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored) to selected 1.5.4.1 (colored)

Fix botch on putting user stack pointer into trapframe.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Mar 31 06:47:47 2015 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.2: +17 -13 lines
Diff to previous 1.2 (colored) to selected 1.5.4.1 (colored)

Optimize the exception handle a little bit more.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Mar 31 01:30:50 2015 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.1: +47 -45 lines
Diff to previous 1.1 (colored) to selected 1.5.4.1 (colored)

Since there is only "scratch" system register for use on exception, come
up with a new scheme for its use.  Use PTR_LA, INT_S/INT_L, etc.  Disable
interrupts when returning from exceptions.  Use L_CPU(tp) to get the curcpu
pointer.

When the cpu gets an exception from kernel mode, the sscratch register will be
0 and curlwp will be in the "tp" register.  When the cpu gets an exception from
user mode, the sscratch register will be a pointer to the current lwp.

When an exception happends, the sp is atomically swapped with the sscratch
register.

	If the sp is zero, the exception was a kernel exception and the
	kernel exception path is taken: sp and sscratch are swapped again
	so sscratch is zero again and then a trapframe is allocated from
	the kernel stack.  The t1 register is saved and then the pre-trapframe
	sp is written to the trapframe.

	If sp was non-zero, the exception was from user mode.  The tp register
	is temporarily saved in L_MD_TP(sp) and sp is moved tp.  tp now
	contains a pointer to the current lwp.  A pointer to the user
	trapframe is loaded from L_MD_UTF(tp).  Then t1 is saved in the
	trapframe so it can be used.  The old sp is fetched from sscratch
	while sscratch is zeroed (indicated kernel mode).  The old sp is
	saved in the trapframe.

	Upon exiting the exception, if the exception is returning to user
	mode, the contents of tp is written to sscratch.

Revision 1.1 / (download) - annotate - [select for diffs], Sat Mar 28 16:13:56 2015 UTC (9 years ago) by matt
Branch: MAIN
Diff to selected 1.5.4.1 (colored)

Beginnings of RISCV kernel support.  Note that the pmap support is not yet
committed and probably won't be for awhile.  This is mostly preliminary
waiting for the supervisor specification to come out.  Lots of missing pieces
but it mostly builds.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>