The NetBSD Project

CVS log for src/sys/arch/riscv/include/mcontext.h

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.12: download - view: text, markup, annotated - select for diffs
Sat Nov 30 01:04:13 2024 UTC (7 weeks, 3 days ago) by christos
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +1 -48 lines
Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
   without redefining them locally.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon Nov 4 15:45:25 2024 UTC (2 months, 2 weeks ago) by christos
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +47 -0 lines
Undo previous lwp.h change.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun Nov 3 22:24:22 2024 UTC (2 months, 2 weeks ago) by christos
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +1 -48 lines
Split __lwp_getprivate_fast and __lwp_*tcb from mcontext.h into a separate
lwp.h file.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Fri May 31 13:11:41 2024 UTC (7 months, 3 weeks ago) by skrll
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +26 -1 lines
Add more ABI register defines - should have been committed with previous
change.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sat May 4 12:42:09 2024 UTC (8 months, 2 weeks ago) by skrll
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -2 lines
Fix the __greg_t typedef for riscv32

Revision 1.7: download - view: text, markup, annotated - select for diffs
Sun May 7 12:41:48 2023 UTC (20 months, 2 weeks ago) by skrll
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +22 -20 lines
RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).

Revision 1.5.4.1: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:07:50 2020 UTC (4 years, 9 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.5: preferred, colored; next MAIN 1.6: preferred, colored
Changes since revision 1.5: +2 -2 lines
Merge changes from current as of 20200406

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat Mar 14 16:12:16 2020 UTC (4 years, 10 months ago) by skrll
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, netbsd-10-base, netbsd-10-1-RELEASE, netbsd-10-0-RELEASE, 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, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -2 lines
Trailing whitespace

Revision 1.4.10.3: download - view: text, markup, annotated - select for diffs
Wed Mar 21 10:08:03 2018 UTC (6 years, 10 months ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Diff to: previous 1.4.10.2: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.10.2: +2 -1 lines
Pull up the following, requested by kamil in ticket #552:

external/gpl3/gcc{.old}/dist/libsanitizer/asan/asan_linux.cc 1.4
sys/arch/aarch64/include/mcontext.h             1.2
sys/arch/alpha/include/mcontext.h               1.9
sys/arch/amd64/include/mcontext.h               1.19
sys/arch/arm/include/mcontext.h                 1.19
sys/arch/hppa/include/mcontext.h                1.9
sys/arch/i386/include/mcontext.h                1.14
sys/arch/ia64/include/mcontext.h                1.6
sys/arch/m68k/include/mcontext.h                1.10
sys/arch/mips/include/mcontext.h                1.22
sys/arch/or1k/include/mcontext.h                1.2
sys/arch/powerpc/include/mcontext.h             1.18
sys/arch/riscv/include/mcontext.h               1.5
sys/arch/sh3/include/mcontext.h                 1.11
sys/arch/sparc/include/mcontext.h               1.14-1.17
sys/arch/sparc64/include/mcontext.h             1.10
sys/arch/vax/include/mcontext.h                 1.9
tests/lib/libc/sys/Makefile                     1.50
tests/lib/libc/sys/t_ucontext.c                 1.2-1.5
sys/arch/hppa/include/mcontext.h		1.10
sys/arch/ia64/include/mcontext.h		1.7

- Introduce _UC_MACHINE_FP().  _UC_MACHINE_FP() is a helper
  macro to extract from mcontext a frame pointer.
- Add new tests in lib/libc/sys/t_ucontext:
  * ucontext_sp (testing _UC_MACHINE_SP)
  * ucontext_fp (testing _UC_MACHINE_FP)
  * ucontext_pc (testing _UC_MACHINE_PC)
  * ucontext_intrv (testing _UC_MACHINE_INTRV)

Add a dummy implementation of _UC_MACHINE_INTRV() for ia64.

Implement _UC_MACHINE_INTRV() for hppa.

Make the t_ucontext.c test more portable.

We now have _UC_MACHINE_FP.

Revision 1.4.10.2: download - view: text, markup, annotated - select for diffs
Mon Feb 26 04:32:30 2018 UTC (6 years, 10 months ago) by snj
Branches: netbsd-8
Diff to: previous 1.4.10.1: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.10.1: +1 -2 lines
revert ticket 552, which broke the build

Revision 1.4.10.1: download - view: text, markup, annotated - select for diffs
Sun Feb 25 23:50:23 2018 UTC (6 years, 10 months ago) by snj
Branches: netbsd-8
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -1 lines
Pull up following revision(s) (requested by kamil in ticket #552):
	sys/arch/aarch64/include/mcontext.h: 1.2
	sys/arch/alpha/include/mcontext.h: 1.9
	sys/arch/amd64/include/mcontext.h: 1.19
	sys/arch/arm/include/mcontext.h: 1.19
	sys/arch/hppa/include/mcontext.h: 1.9
	sys/arch/i386/include/mcontext.h: 1.14
	sys/arch/ia64/include/mcontext.h: 1.6
	sys/arch/m68k/include/mcontext.h: 1.10
	sys/arch/mips/include/mcontext.h: 1.22
	sys/arch/or1k/include/mcontext.h: 1.2
	sys/arch/powerpc/include/mcontext.h: 1.18
	sys/arch/riscv/include/mcontext.h: 1.5
	sys/arch/sh3/include/mcontext.h: 1.11
	sys/arch/sparc/include/mcontext.h: 1.14-1.17
	sys/arch/sparc64/include/mcontext.h: 1.10
	sys/arch/vax/include/mcontext.h: 1.9
	tests/lib/libc/sys/Makefile: 1.50
	tests/lib/libc/sys/t_ucontext.c: 1.2
Introduce _UC_MACHINE_FP() as a macro
_UC_MACHINE_FP() is a helper macro to extract from mcontext a frame pointer.
Don't rely on this interface as a compiler might strip frame pointer or
optimize it making this interface unreliable.
For hppa assume a small frame context, for larger frames FP might be located
in a different register (4 instead of 3).
For ia64 there is no strict frame pointer, and registers might rotate.
Reuse 79 following:
  ./gcc/config/ia64/ia64.h:#define HARD_FRAME_POINTER_REGNUM  LOC_REG (79)
Once ia64 will mature, this should be revisited.
A macro can encapsulate a real function for extracting Frame Pointer on
more complex CPUs / ABIs.
For the remaining CPUs, reuse standard register as defined in appropriate ABI.
The direct users of this macro are LLVM and GCC with Sanitizers.
Proposed on tech-userlevel@.
Sponsored by <The NetBSD Foundation>
--
Improve _UC_MACHINE_FP() for SPARC/SPARC64
Introduce a static inline function _uc_machine_fp() that contains improved
caluclation of a frame pointer.
Algorithm:
  uptr *stk_ptr;
#  if defined (__arch64__)
  stk_ptr = (uptr *) (*sp + 2047);
#  else
  stk_ptr = (uptr *) *sp;
#  endif
  *bp = stk_ptr[15];
Noted by <mrg>
--
Make _UC_MACHINE_FP() compile again and fix it so that it does not add
the offset twice.
--
fix _UC_MACHINE32_FP() -- use 32 bit pointer value so that [15] is
the right offset.  do this by using __greg32_t, which is only in
the sparc64 version, and these are only useful there, so move them.
--
Add new tests in lib/libc/sys/t_ucontext
New tests:
 - ucontext_sp
 - ucontext_fp
 - ucontext_pc
 - ucontext_intrv
They test respectively:
 - _UC_MACHINE_SP
 - _UC_MACHINE_FP
 - _UC_MACHINE_PC
 - _UC_MACHINE_INTRV
These tests attempt to access and print the values from ucontext, without
interpreting the values.
This is a follow up of the _UC_MACHINE_FP() introduction.
These tests use PRIxREGISTER, and require to be built with -D_KERNTYPES.
Sponsored by <The NetBSD Foundation>

Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Feb 15 15:53:56 2018 UTC (6 years, 11 months ago) by kamil
Branches: MAIN
CVS tags: phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, 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, netbsd-9-base, netbsd-9-4-RELEASE, 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, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: phil-wifi
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -1 lines
Introduce _UC_MACHINE_FP() as a macro

_UC_MACHINE_FP() is a helper macro to extract from mcontext a frame pointer.

Don't rely on this interface as a compiler might strip frame pointer or
optimize it making this interface unreliable.


For hppa assume a small frame context, for larger frames FP might be located
in a different register (4 instead of 3).

For ia64 there is no strict frame pointer, and registers might rotate.
Reuse 79 following:

  ./gcc/config/ia64/ia64.h:#define HARD_FRAME_POINTER_REGNUM  LOC_REG (79)

Once ia64 will mature, this should be revisited.

A macro can encapsulate a real function for extracting Frame Pointer on
more complex CPUs / ABIs.


For the remaining CPUs, reuse standard register as defined in appropriate ABI.

The direct users of this macro are LLVM and GCC with Sanitizers.

Proposed on tech-userlevel@.

Sponsored by <The NetBSD Foundation>

Revision 1.4.16.2: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:36:39 2017 UTC (7 years, 1 month ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.4.16.1: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.16.1: +169 -0 lines
update from HEAD

Revision 1.2.2.1: download - view: text, markup, annotated - select for diffs
Mon Apr 6 15:18:01 2015 UTC (9 years, 9 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.2: preferred, colored; next MAIN 1.3: preferred, colored
Changes since revision 1.2: +7 -6 lines
Sync with HEAD

Revision 1.4.16.1
Wed Apr 1 21:55:33 2015 UTC (9 years, 9 months ago) by jdolecek
Branches: tls-maxphys
FILE REMOVED
Changes since revision 1.4: +0 -169 lines
file mcontext.h was added on branch tls-maxphys on 2017-12-03 11:36:39 +0000

Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Apr 1 21:55:33 2015 UTC (9 years, 9 months ago) by matt
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, 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, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: tls-maxphys, netbsd-8
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -1 lines
Add _REG_S0

Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Mar 27 06:57:21 2015 UTC (9 years, 9 months ago) by matt
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +6 -6 lines
Switch to new ABI (return values now in a0/a1; v0/v1 are no more)

Revision 1.2: download - view: text, markup, annotated - select for diffs
Fri Oct 24 01:08:07 2014 UTC (10 years, 3 months ago) by dennis
Branches: MAIN
CVS tags: nick-nhusb-base
Branch point for: nick-nhusb
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -2 lines
Fix a typo: the PC is likely in _REG_PC

Revision 1.1: download - view: text, markup, annotated - select for diffs
Fri Sep 19 17:36:26 2014 UTC (10 years, 4 months ago) by matt
Branches: MAIN
New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)

Diff request

This form allows you to request diffs 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.

Log view options

CVSweb <webmaster@jp.NetBSD.org>