- Notifications
You must be signed in to change notification settings - Fork 12
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Linux kernel TLB flush interface tries to optimize the TLB flush by incrementing the ASID when there is a need to flush large number of entries (since goign thru TLB one entry at a time could be costly). This happens when a task exits or forks etc. Only in case of ASID rollover does it need to unconditionally flush the entire TLB.
However for an experiment (related to ARCv4 MMU48 bringup) I switched ARCv2 kernel TLB flush interfaces to just nuke the TLB using TLBWriteNI cmd in a loop. Such a kernel failed to boot as init task was getting segv.
This architecture does not have kernel memory protection. Run /init as init process with arguments: /init with environment: HOME=/ TERM=linux potentially unexpected fatal signal 11. Path: /bin/busybox CPU: 0 PID: 24 Comm: init Not tainted 5.6.0-00168-g1aa3c6c3c2e2-dirty #121 Insn could not be fetched @No matching VMA found ECR: 0x00040000 EFA: 0x00000005 ERET: 0x00000005 STAT32: 0x80081082 [IE U ] BTA: 0x00000005 SP: 0x5ffffbe8 FP: 0x000d285c BLK: 0x5 LPS: 0x2010e63a LPE: 0x2010e64c LPC: 0x00000000 r00: 0x00000000 r01: 0x00000000 r02: 0x2001e56c r03: 0x2001e564 r04: 0x201a606c r05: 0x00000007 r06: 0x201a2668 r07: 0x00000000 r08: 0x000000dc r09: 0x00000000 r10: 0x20011af8 r11: 0x2001e988 r12: 0x00000000 r13: 0x000d4d78 r14: 0x000d44a8 r15: 0x000d4d78 r16: 0x000d44a8 r17: 0x000d4190 r18: 0x000d4590 r19: 0x000c9911 r20: 0x00000000 r21: 0xffffffff r22: 0x00000000 r23: 0xffffffff r24: 0x000c9911 r25: 0x201a6488 Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 ]--- Metadata
Metadata
Labels
bugSomething isn't workingSomething isn't working