#
1.7 |
|
05-Oct-2023 |
ad |
Arrange to update cached LWP credentials in userret() rather than during syscall/trap entry, eliminating a test+branch on every syscall/trap.
This wasn't possible in the 3.99.x timeframe when l->l_cred came about because there wasn't a reliable/timely way to force an ONPROC LWP running on a remote CPU into the kernel (which is just about the only new thing in this scheme).
|
Revision tags: netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.6 |
|
06-Apr-2019 |
kre |
Revert previous (1.5) and return to the one before that (1.4), and just allow things to be broken if this is used on a system where register_t is int (32 bits) and long is 64 bits. Badly broken...
|
#
1.5 |
|
06-Apr-2019 |
kre |
Revert previous. Instead change ufetch_long() to ufetch_int() in both calls (and also remove the cast on the earlier).
These replaced fuword, to fetch a register_t (ie: int).
|
#
1.4 |
|
06-Apr-2019 |
kre |
If using a cast for &code to make it a u_long * is acceptable a few lines earlier, it should work here too.
|
#
1.3 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base 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-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
#
1.2 |
|
08-Aug-2017 |
maxv |
branches: 1.2.2; 1.2.4; 1.2.8; Move freebsd_machdep.h into sys/compat/freebsd, and don't install it. Now, the compat_freebsd files are all contained in sys/compat/freebsd.
|
#
1.1 |
|
01-Aug-2017 |
maxv |
Move arch/i386/i386/freebsd_* into compat/freebsd/. COMPAT_FREEBSD is i386-specific.
|
Revision tags: isaki-audio2-base
|
#
1.6 |
|
06-Apr-2019 |
kre |
Revert previous (1.5) and return to the one before that (1.4), and just allow things to be broken if this is used on a system where register_t is int (32 bits) and long is 64 bits. Badly broken...
|
#
1.5 |
|
06-Apr-2019 |
kre |
Revert previous. Instead change ufetch_long() to ufetch_int() in both calls (and also remove the cast on the earlier).
These replaced fuword, to fetch a register_t (ie: int).
|
#
1.4 |
|
06-Apr-2019 |
kre |
If using a cast for &code to make it a u_long * is acceptable a few lines earlier, it should work here too.
|
#
1.3 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base 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-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
#
1.2 |
|
08-Aug-2017 |
maxv |
branches: 1.2.2; 1.2.4; Move freebsd_machdep.h into sys/compat/freebsd, and don't install it. Now, the compat_freebsd files are all contained in sys/compat/freebsd.
|
#
1.1 |
|
01-Aug-2017 |
maxv |
Move arch/i386/i386/freebsd_* into compat/freebsd/. COMPAT_FREEBSD is i386-specific.
|
#
1.2 |
|
08-Aug-2017 |
maxv |
Move freebsd_machdep.h into sys/compat/freebsd, and don't install it. Now, the compat_freebsd files are all contained in sys/compat/freebsd.
|
#
1.1 |
|
01-Aug-2017 |
maxv |
Move arch/i386/i386/freebsd_* into compat/freebsd/. COMPAT_FREEBSD is i386-specific.
|
#
1.1 |
|
01-Aug-2017 |
maxv |
Move arch/i386/i386/freebsd_* into compat/freebsd/. COMPAT_FREEBSD is i386-specific.
|