/freebsd/sys/riscv/include/ |
H A D | pcpu.h | diff 02a371289a3766de9d06a7791357921aba4606a9 Mon Apr 25 16:47:51 CEST 2016 Ruslan Bukin <br@FreeBSD.org> o Implement shared pagetables and switch from 4 to 3 levels page memory system.
RISC-V ISA has only single page table base register for both kernel and user addresses translation. Before this commit we were using an extra (4th) level of pagetables for switching between kernel and user pagetables, but then realized FPGA hardware has 3-level page system hardcoded. It is also become clear that the bitfile synthesized for 4-level system is untested/broken, so we can't use extra level for switching.
We are now share level 1 of pagetables between kernel and user VA. This requires to keep track of all the user pmaps created and once we adding L1 page to kernel pmap we have to add it to all the user pmaps.
o Change the VM layout as we must have topmost bit to be 1 in the selected page system for kernel addresses and 0 for user addresses. o Implement pmap_kenter_device(). o Create the l3 tables for the early devmap.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
H A D | pmap.h | diff 02a371289a3766de9d06a7791357921aba4606a9 Mon Apr 25 16:47:51 CEST 2016 Ruslan Bukin <br@FreeBSD.org> o Implement shared pagetables and switch from 4 to 3 levels page memory system.
RISC-V ISA has only single page table base register for both kernel and user addresses translation. Before this commit we were using an extra (4th) level of pagetables for switching between kernel and user pagetables, but then realized FPGA hardware has 3-level page system hardcoded. It is also become clear that the bitfile synthesized for 4-level system is untested/broken, so we can't use extra level for switching.
We are now share level 1 of pagetables between kernel and user VA. This requires to keep track of all the user pmaps created and once we adding L1 page to kernel pmap we have to add it to all the user pmaps.
o Change the VM layout as we must have topmost bit to be 1 in the selected page system for kernel addresses and 0 for user addresses. o Implement pmap_kenter_device(). o Create the l3 tables for the early devmap.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
H A D | vmparam.h | diff 02a371289a3766de9d06a7791357921aba4606a9 Mon Apr 25 16:47:51 CEST 2016 Ruslan Bukin <br@FreeBSD.org> o Implement shared pagetables and switch from 4 to 3 levels page memory system.
RISC-V ISA has only single page table base register for both kernel and user addresses translation. Before this commit we were using an extra (4th) level of pagetables for switching between kernel and user pagetables, but then realized FPGA hardware has 3-level page system hardcoded. It is also become clear that the bitfile synthesized for 4-level system is untested/broken, so we can't use extra level for switching.
We are now share level 1 of pagetables between kernel and user VA. This requires to keep track of all the user pmaps created and once we adding L1 page to kernel pmap we have to add it to all the user pmaps.
o Change the VM layout as we must have topmost bit to be 1 in the selected page system for kernel addresses and 0 for user addresses. o Implement pmap_kenter_device(). o Create the l3 tables for the early devmap.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
/freebsd/sys/riscv/riscv/ |
H A D | swtch.S | diff 02a371289a3766de9d06a7791357921aba4606a9 Mon Apr 25 16:47:51 CEST 2016 Ruslan Bukin <br@FreeBSD.org> o Implement shared pagetables and switch from 4 to 3 levels page memory system.
RISC-V ISA has only single page table base register for both kernel and user addresses translation. Before this commit we were using an extra (4th) level of pagetables for switching between kernel and user pagetables, but then realized FPGA hardware has 3-level page system hardcoded. It is also become clear that the bitfile synthesized for 4-level system is untested/broken, so we can't use extra level for switching.
We are now share level 1 of pagetables between kernel and user VA. This requires to keep track of all the user pmaps created and once we adding L1 page to kernel pmap we have to add it to all the user pmaps.
o Change the VM layout as we must have topmost bit to be 1 in the selected page system for kernel addresses and 0 for user addresses. o Implement pmap_kenter_device(). o Create the l3 tables for the early devmap.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
H A D | genassym.c | diff 02a371289a3766de9d06a7791357921aba4606a9 Mon Apr 25 16:47:51 CEST 2016 Ruslan Bukin <br@FreeBSD.org> o Implement shared pagetables and switch from 4 to 3 levels page memory system.
RISC-V ISA has only single page table base register for both kernel and user addresses translation. Before this commit we were using an extra (4th) level of pagetables for switching between kernel and user pagetables, but then realized FPGA hardware has 3-level page system hardcoded. It is also become clear that the bitfile synthesized for 4-level system is untested/broken, so we can't use extra level for switching.
We are now share level 1 of pagetables between kernel and user VA. This requires to keep track of all the user pmaps created and once we adding L1 page to kernel pmap we have to add it to all the user pmaps.
o Change the VM layout as we must have topmost bit to be 1 in the selected page system for kernel addresses and 0 for user addresses. o Implement pmap_kenter_device(). o Create the l3 tables for the early devmap.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
H A D | locore.S | diff 02a371289a3766de9d06a7791357921aba4606a9 Mon Apr 25 16:47:51 CEST 2016 Ruslan Bukin <br@FreeBSD.org> o Implement shared pagetables and switch from 4 to 3 levels page memory system.
RISC-V ISA has only single page table base register for both kernel and user addresses translation. Before this commit we were using an extra (4th) level of pagetables for switching between kernel and user pagetables, but then realized FPGA hardware has 3-level page system hardcoded. It is also become clear that the bitfile synthesized for 4-level system is untested/broken, so we can't use extra level for switching.
We are now share level 1 of pagetables between kernel and user VA. This requires to keep track of all the user pmaps created and once we adding L1 page to kernel pmap we have to add it to all the user pmaps.
o Change the VM layout as we must have topmost bit to be 1 in the selected page system for kernel addresses and 0 for user addresses. o Implement pmap_kenter_device(). o Create the l3 tables for the early devmap.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
H A D | machdep.c | diff 02a371289a3766de9d06a7791357921aba4606a9 Mon Apr 25 16:47:51 CEST 2016 Ruslan Bukin <br@FreeBSD.org> o Implement shared pagetables and switch from 4 to 3 levels page memory system.
RISC-V ISA has only single page table base register for both kernel and user addresses translation. Before this commit we were using an extra (4th) level of pagetables for switching between kernel and user pagetables, but then realized FPGA hardware has 3-level page system hardcoded. It is also become clear that the bitfile synthesized for 4-level system is untested/broken, so we can't use extra level for switching.
We are now share level 1 of pagetables between kernel and user VA. This requires to keep track of all the user pmaps created and once we adding L1 page to kernel pmap we have to add it to all the user pmaps.
o Change the VM layout as we must have topmost bit to be 1 in the selected page system for kernel addresses and 0 for user addresses. o Implement pmap_kenter_device(). o Create the l3 tables for the early devmap.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
H A D | pmap.c | diff 02a371289a3766de9d06a7791357921aba4606a9 Mon Apr 25 16:47:51 CEST 2016 Ruslan Bukin <br@FreeBSD.org> o Implement shared pagetables and switch from 4 to 3 levels page memory system.
RISC-V ISA has only single page table base register for both kernel and user addresses translation. Before this commit we were using an extra (4th) level of pagetables for switching between kernel and user pagetables, but then realized FPGA hardware has 3-level page system hardcoded. It is also become clear that the bitfile synthesized for 4-level system is untested/broken, so we can't use extra level for switching.
We are now share level 1 of pagetables between kernel and user VA. This requires to keep track of all the user pmaps created and once we adding L1 page to kernel pmap we have to add it to all the user pmaps.
o Change the VM layout as we must have topmost bit to be 1 in the selected page system for kernel addresses and 0 for user addresses. o Implement pmap_kenter_device(). o Create the l3 tables for the early devmap.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|