The NetBSD Project

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

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.5: download - view: text, markup, annotated - select for diffs
Sat Nov 30 01:04:13 2024 UTC (7 weeks, 2 days ago) by christos
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +1 -45 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.4: download - view: text, markup, annotated - select for diffs
Mon Nov 4 15:45:24 2024 UTC (2 months, 2 weeks ago) by christos
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +44 -0 lines
Undo previous lwp.h change.

Revision 1.3: 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.2: preferred, colored
Changes since revision 1.2: +1 -45 lines
Split __lwp_getprivate_fast and __lwp_*tcb from mcontext.h into a separate
lwp.h file.

Revision 1.1.12.3: download - view: text, markup, annotated - select for diffs
Wed Mar 21 10:08:02 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.1.12.2: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.12.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.1.12.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.1.12.1: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.12.1: +1 -2 lines
revert ticket 552, which broke the build

Revision 1.1.12.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.1: preferred, colored
Changes since revision 1.1: +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.2: 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: thorpej-ifq-base, thorpej-ifq, 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, thorpej-altq-separation-base, thorpej-altq-separation, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, 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, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, 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, 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, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, 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, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +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.1.18.2: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:36:34 2017 UTC (7 years, 1 month ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.1.18.1: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.18.1: +140 -0 lines
update from HEAD

Revision 1.1.18.1
Wed Sep 3 19:34:26 2014 UTC (10 years, 4 months ago) by jdolecek
Branches: tls-maxphys
FILE REMOVED
Changes since revision 1.1: +0 -140 lines
file mcontext.h was added on branch tls-maxphys on 2017-12-03 11:36:34 +0000

Revision 1.1: download - view: text, markup, annotated - select for diffs
Wed Sep 3 19:34:26 2014 UTC (10 years, 4 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, nick-nhusb-base, nick-nhusb, 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
New files for OR1K support

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>