On Fri, Mar 31, 2023 at 2:34 PM Conor Dooley <conor@xxxxxxxxxx> wrote: > > On Tue, Feb 21, 2023 at 10:30:18PM -0500, guoren@xxxxxxxxxx wrote: > > From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx> > > > > This patch converts riscv to use the generic entry infrastructure from > > kernel/entry/*. The generic entry makes maintainers' work easier and > > codes more elegant. Here are the changes: > > > > - More clear entry.S with handle_exception and ret_from_exception > > - Get rid of complex custom signal implementation > > - Move syscall procedure from assembly to C, which is much more > > readable. > > - Connect ret_from_fork & ret_from_kernel_thread to generic entry. > > - Wrap with irqentry_enter/exit and syscall_enter/exit_from_user_mode > > - Use the standard preemption code instead of custom > > This has unfortunately broken booting my usual NFS rootfs on both my D1 > and Icicle. It's one of the Fedora images from David, I think this one: > http://fedora.riscv.rocks/kojifiles/work/tasks/3933/1313933/ > > It gets pretty far into things, it's once systemd is operational that > things go pear shaped: > > [ OK ] Mounted Huge Pages File System. > [ 70.297439] systemd[1]: Mounted POSIX Message Queue File System. > [ OK ] Mounted POSIX Message Queue File System. > [ 70.453489] systemd[1]: Mounted Kernel Debug File System. > [ OK ] Mounted Kernel Debug File System. > [ 70.516331] systemd[1]: Mounted Kernel Trace File System. > [ OK ] Mounted Kernel Trace File System. > [ 70.679253] systemd[1]: modprobe@configfs.service: Succeeded. > [ 70.788400] systemd[1]: Finished Load Kernel Module configfs. > [ OK ] Finished Load Kernel Module configfs. > [ 71.501222] systemd[1]: modprobe@drm.service: Succeeded. > [ 71.573295] systemd[1]: Finished Load Kernel Module drm. > [ OK ] Finished Load Kernel Module drm. > [ 71.825934] systemd[1]: modprobe@fuse.service: Succeeded. > [ 71.886945] systemd[1]: Finished Load Kernel Module fuse. > [ OK ] Finished Load Kernel Module fuse. > [ 71.991932] systemd[1]: nfs-convert.service: Succeeded. > [ 72.034674] systemd[1]: Finished Preprocess NFS configuration convertion. > [ OK ] Finished Preprocess NFS configuration convertion. > [ 72.148778] systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE > [ 72.256659] systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'. > [ 72.337818] systemd[1]: Failed to start Load Kernel Modules. > [FAILED] Failed to start Load Kernel Modules. Are you sure, you've compiled all kernel modules? This patch needs all kernel stuff re-compiled. > See 'systemctl status systemd-modules-load.service' for details. > [ 72.410491] systemd[1]: systemd-modules-load.service: Consumed 1.463s CPU time. > [ 72.496739] systemd[1]: Condition check resulted in FUSE Control File System being skipped. > [ 72.513689] systemd[1]: Condition check resulted in Kernel Configuration File System being skipped. > [ 72.682549] systemd[1]: Starting Apply Kernel Variables.. > [ OK ] Finished Apply Kernel Variables. > [ 76.314434] systemd[1]: Finished Load/Save Random Seed. > [ OK ] Finished Load/Save Random Seed. > [*** ] (1 of 6) A start job is running for…p Virtual Console (14s / no limit) > [ OK ] Finished Create Static Device Nodes in /dev. > [ 79.787065] systemd[1]: Started Entropy Daemon based on the HAVEGE algorithm. > [ OK ] Started Entropy Daemon based on the HAVEGE algorithm. > [ 80.186295] systemd[1]: Starting Journal Service... > Starting Journal Service... > [ 80.713508] systemd[1]: Starting Rule-based Manager for Device Events and Files... > Starting Rule-based Manage…for Device Events and Files... > [ *** ] (2 of 7) A start job is running for… All udev Devices (17s / no limit) > [ 82.939347] systemd[1]: systemd-journald.service: Main process exited, code=exited, status=1/FAILURE > [ 83.032046] systemd[1]: systemd-journald.service: Failed with result 'exit-code'. > [FAILED] Failed to start Journal Service. > See 'systemctl status systemd-journald.service' for details. > [ 83.210041] systemd[1]: Dependency failed for Flush Journal to Persistent Storage. > [DEPEND] Dependency failed for Flus…Journal to Persistent Storage. > [ 83.254122] systemd[1]: systemd-journal-flush.service: Job systemd-journal-flush.service/start failed with result 'dependency'. > [ 83.272366] systemd[1]: systemd-journald.service: Consumed 1.443s CPU time. > [ 83.334360] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1. > [ 83.427839] systemd[1]: Finished Setup Virtual Console. > [ OK ] Finished Setup Virtual Console. > [ 83.510650] systemd[1]: Stopped Journal Service. > [ OK ] Stopped Journal Service. > [ 83.554417] systemd[1]: systemd-journald.service: Consumed 1.443s CPU time. > [ 83.576573] systemd[1]: Condition check resulted in Journal Audit Socket being skipped. > [ 83.904878] systemd[1]: Starting Journal Service... > Starting Journal Service... > [ 85.752090] systemd[1]: systemd-journald.service: Main process exited, code=exited, status=1/FAILURE > [ 85.826421] systemd[1]: systemd-journald.service: Failed with result 'exit-code'. > [ 85.876165] systemd[1]: Failed to start Journal Service. > [FAILED] Failed to start Journal Service. > See 'systemctl status systemd-journald.service' for details. > [ 85.952221] systemd[1]: systemd-journald.service: Consumed 1.355s CPU time. > [ 86.002092] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 2. > [ 86.015081] systemd[1]: Stopped Journal Service. > [ OK ] Stopped Journal Service. > [ 86.076429] systemd[1]: systemd-journald.service: Consumed 1.355s CPU time. > [ 86.089700] systemd[1]: Condition check resulted in Journal Audit Socket being skipped. > [ 86.390162] systemd[1]: Starting Journal Service... > Starting Journal Service... > [ 87.904427] systemd[1]: systemd-journald.service: Main process exited, code=exited, status=1/FAILURE > [ 87.950259] systemd[1]: systemd-journald.service: Failed with result 'exit-code'. > [ 88.000661] systemd[1]: Failed to start Journal Service. > [FAILED] Failed to start Journal Service. > See 'systemctl status systemd-journald.service' for details. > [ 88.079953] systemd[1]: systemd-journald.service: Consumed 1.316s CPU time. > [ 88.128956] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 3. > [ 88.145365] systemd[1]: Stopped Journal Service. > [ OK ] Stopped Journal Service. > [ 88.189975] systemd[1]: systemd-journald.service: Consumed 1.316s CPU time. > [ 88.205799] systemd[1]: Condition check resulted in Journal Audit Socket being skipped. > [ 88.514817] systemd[1]: Starting Journal Service... > Starting Journal Service... > > (Note, you need to merge -rc2 into riscv/for-next to actually boot) > > Cheers, > Conor. -- Best Regards Guo Ren