#
66a8ad12 |
| 03-Mar-2023 |
riastradh <riastradh@NetBSD.org> |
Revert "x86: Add kthread_fpu_enter/exit support, take two -- forgot i386 bits."
kthread_fpu_enter/exit changes broke some hardware, unclear why, to investigate before fixing and reapplying these cha
Revert "x86: Add kthread_fpu_enter/exit support, take two -- forgot i386 bits."
kthread_fpu_enter/exit changes broke some hardware, unclear why, to investigate before fixing and reapplying these changes.
show more ...
|
#
5e31bfa1 |
| 25-Feb-2023 |
riastradh <riastradh@NetBSD.org> |
x86: Add kthread_fpu_enter/exit support, take two -- forgot i386 bits.
|
#
5b0e4c79 |
| 27-Dec-2022 |
msaitoh <msaitoh@NetBSD.org> |
Move some definitions. Add comment. No functional change.
|
#
9cc3da4e |
| 26-Dec-2022 |
msaitoh <msaitoh@NetBSD.org> |
Reduce diff between i386/i386/genassym.cf and amd64/amd64/genassym.cf. NFCI.
|
#
722bf454 |
| 26-Dec-2022 |
msaitoh <msaitoh@NetBSD.org> |
Sort lines. Add comment. No functional change.
|
#
4942a4ec |
| 26-Dec-2022 |
msaitoh <msaitoh@NetBSD.org> |
Reduce diff between i386/i386/genassym.cf and amd64/amd64/genassym.cf. NFCI.
- Whitespace fix. - Sort lines.
|
#
10c00447 |
| 26-Dec-2022 |
msaitoh <msaitoh@NetBSD.org> |
Remove duplicated IPL_SCHED. No functional change.
|
#
87531432 |
| 07-Sep-2022 |
knakahara <knakahara@NetBSD.org> |
NetBSD/x86: Raise the number of interrupt sources per CPU from 32 to 56.
There has been no objection for three years. https://mail-index.netbsd.org/port-amd64/2019/09/22/msg003012.html Implement
NetBSD/x86: Raise the number of interrupt sources per CPU from 32 to 56.
There has been no objection for three years. https://mail-index.netbsd.org/port-amd64/2019/09/22/msg003012.html Implemented by nonaka@n.o, updated by me.
show more ...
|
#
e8cbb42e |
| 20-Aug-2022 |
riastradh <riastradh@NetBSD.org> |
x86: Split most of pmap.h into pmap_private.h or vmparam.h.
This way pmap.h only contains the MD definition of the MI pmap(9) API, which loads of things in the kernel rely on, so changing x86 pmap i
x86: Split most of pmap.h into pmap_private.h or vmparam.h.
This way pmap.h only contains the MD definition of the MI pmap(9) API, which loads of things in the kernel rely on, so changing x86 pmap internals no longer requires recompiling the entire kernel every time.
Callers needing these internals must now use machine/pmap_private.h. Note: This is not x86/pmap_private.h because it contains three parts:
1. CPU-specific (different for i386/amd64) definitions used by...
2. common definitions, including Xenisms like xpmap_ptetomach, further used by...
3. more CPU-specific inlines for pmap_pte_* operations
So {amd64,i386}/pmap_private.h defines 1, includes x86/pmap_private.h for 2, and then defines 3. Maybe we should split that out into a new pmap_pte.h to reduce this trouble.
No functional change intended, other than that some .c files must include machine/pmap_private.h when previously uvm/uvm_pmap.h polluted the namespace with pmap internals.
Note: This migrates part of i386/pmap.h into i386/vmparam.h -- specifically the parts that are needed for several constants defined in vmparam.h:
VM_MAXUSER_ADDRESS VM_MAX_ADDRESS VM_MAX_KERNEL_ADDRESS VM_MIN_KERNEL_ADDRESS
Since i386 needs PDP_SIZE in vmparam.h, I added it there on amd64 too, just to keep things parallel.
show more ...
|
#
9dfdfc01 |
| 12-Jun-2022 |
bouyer <bouyer@NetBSD.org> |
XenPV: in cpu_switchto(), reset ci_xen_clockf_usermode/ci_xen_clockf_pc, in case a clock interrupt is deffered while we're switching lwp. Fix a (rare) panic: panic: kernel diagnostic assertion "p !=
XenPV: in cpu_switchto(), reset ci_xen_clockf_usermode/ci_xen_clockf_pc, in case a clock interrupt is deffered while we're switching lwp. Fix a (rare) panic: panic: kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/kern/kern_clock.c", line 438 seen when xen_timer_handler() is called from the splx() at the end of mi_switch()
show more ...
|
#
57cb88c2 |
| 24-May-2022 |
bouyer <bouyer@NetBSD.org> |
Some devices (e.g. ixg in MSI-X mode) don't to have their handlers called when no interrupt are pending. So add an extra ih_pending field to struct intrhand, which is incremeted when the handler is n
Some devices (e.g. ixg in MSI-X mode) don't to have their handlers called when no interrupt are pending. So add an extra ih_pending field to struct intrhand, which is incremeted when the handler is not called because of IPL level and reset to 0 when called. Check this in Xen's resume assembly to call only handlers that are really pending.
show more ...
|
#
3dcfbe40 |
| 02-May-2020 |
bouyer <bouyer@NetBSD.org> |
Introduce Xen PVH support in GENERIC. This is compiled in with options XENPVHVM x86 changes: - add Xen section and xen pvh entry points to locore.S. Set vm_guest to VM_GUEST_XENPVH in this entry po
Introduce Xen PVH support in GENERIC. This is compiled in with options XENPVHVM x86 changes: - add Xen section and xen pvh entry points to locore.S. Set vm_guest to VM_GUEST_XENPVH in this entry point. Most of the boot procedure (especially page table setup and switch to paged mode) is shared with native. - change some x86_delay() to delay_func(), which points to x86_delay() for native/HVM, and xen_delay() for PVH
Xen changes: - remove Xen bits from init_x86_64_ksyms() and init386_ksyms() and move to xen_init_ksyms(), used for both PV and PVH - set ISA no-legacy-devices property for PVH - factor out code from Xen's cpu_bootconf() to xen_bootconf() in xen_machdep.c - set up a specific pvh_consinit() which starts with printk() (which uses a simple hypercall that is available early) and switch to xencons when we can use pmap_kenter_pa().
show more ...
|
#
22e594a0 |
| 25-Apr-2020 |
bouyer <bouyer@NetBSD.org> |
Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM guests in GENERIC. Xen support can be disabled at runtime with boot -c disable hypervisor
|
#
0ed2f35a |
| 25-Apr-2020 |
maxv <maxv@NetBSD.org> |
Switch to the new PTE naming. The old naming is now unused, remove it.
|
#
76b59681 |
| 17-Feb-2020 |
skrll <skrll@NetBSD.org> |
G/C LS{SLEEP,RUN,ONPROC}
LWP status manipulation was moved out of assembly long ago.
|
#
14f6a1f0 |
| 08-Jan-2020 |
ad <ad@NetBSD.org> |
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
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.
show more ...
|
#
77f69257 |
| 30-Dec-2019 |
thorpej <thorpej@NetBSD.org> |
Fix a problem with intr_unmask() that can cause a forever-loop: - When handling the source-is-masked case in the interrupt vector, set the interrupt bit in a new ci_imasked field and ensure the bit
Fix a problem with intr_unmask() that can cause a forever-loop: - When handling the source-is-masked case in the interrupt vector, set the interrupt bit in a new ci_imasked field and ensure the bit is cleared from ci_ipending. - In intr_unmask(), transfer the bit from ci_imasked to ci_ipending for non-level-sensitive interrupts (the PIC does the work for us in the level-sensitive case), and only force pending interrupts to be processed in this case. (In all cases, make sure the now-unmasked bit is cleared from ci_imasked.)
Before, the bit was left in ci_ipending so as not to use edge-triggered interrupts while the source is masked, but Xspllower() relies on the pending bits getting cleared.
Tested by forcing all wm(4) interrupts on my test system though an intr_mask() / softint / intr_unmask() cycle and exercising the network heavily.
show more ...
|
#
c47abe2c |
| 22-Dec-2019 |
thorpej <thorpej@NetBSD.org> |
Add intr_mask() and corresponding intr_unmask() calls that allow specific interrupt lines / sources to be masked as needed (rather than making a set of sources by IPL as with spl*()).
|
#
a3d6fe1b |
| 21-Nov-2019 |
ad <ad@NetBSD.org> |
x86: abort pageidlezero unconditionally if there is something to run.
|
#
84e0feff |
| 12-Oct-2019 |
maxv <maxv@NetBSD.org> |
Rewrite the FPU code on x86. This greatly simplifies the logic and removes the dependency on IPL_HIGH. NVMM is updated accordingly. Posted on port-amd64 a week ago.
Bump the kernel version to 9.99.1
Rewrite the FPU code on x86. This greatly simplifies the logic and removes the dependency on IPL_HIGH. NVMM is updated accordingly. Posted on port-amd64 a week ago.
Bump the kernel version to 9.99.16.
show more ...
|
#
ca72d326 |
| 09-Mar-2019 |
maxv <maxv@NetBSD.org> |
Start replacing the x86 PTE bits.
|
#
7e36c976 |
| 07-Mar-2019 |
maxv <maxv@NetBSD.org> |
Drop PG_RO, PG_KR and PG_PROT, they are useless and create confusion.
|
#
afdb7e40 |
| 15-Feb-2019 |
nonaka <nonaka@NetBSD.org> |
Added Microsoft Hyper-V support. It ported from OpenBSD and FreeBSD.
graphical console is not work on Gen.2 VM yet. To use the serial console, enter "consdev com,0x3f8,115200" on efiboot.
|
#
bf5abc14 |
| 11-Feb-2019 |
cherry <cherry@NetBSD.org> |
We reorganise definitions for XEN source support as follows:
XEN - common sources required for baseline XEN support. XENPV - sources required for support of XEN in PV mode. XENPVHVM - sources requir
We reorganise definitions for XEN source support as follows:
XEN - common sources required for baseline XEN support. XENPV - sources required for support of XEN in PV mode. XENPVHVM - sources required for support for XEN in HVM mode. XENPVH - sources required for support for XEN in PVH mode.
show more ...
|
#
059051da |
| 02-Feb-2019 |
cherry <cherry@NetBSD.org> |
Switch NetBSD/xen to use XEN api tag RELEASE-4.11.1
The headers for this api are in sys/external/mit/xen-include-public/dist/
|