On Sun, Jul 31, 2016 at 08:03:58PM +0200, Mark Kettenis wrote:
> So the CPU might speculatively load TLB entries. The upshot from this
> is that we always have to perform a TLB flush if we modify a valid
> entry. So we can't rely on PV_BEEN_REFD() to decide whether we should
> flush or not. The diff below fixes thi. The diff seems to fix the
> pmap_fault_fixup() messages on a Cortex A53 system. It's very likely
> that this will fix them on Cortex A7 as well.
Hi Mark,
rebuilt RAMDISK and bsd.rd with the latest commits and tested on a Cubieboard 2
with Cortex-A7.
Thank you.
--
U-Boot SPL 2016.05 (Jul 02 2016 - 03:01:58)
DRAM: 1024 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from MMC1
U-Boot 2016.05 (Jul 02 2016 - 03:01:58 -0600) Allwinner Technology
CPU: Allwinner A20 (SUN7I)
Model: Cubietech Cubieboard2
I2C: ready
DRAM: 1 GiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
SCSI: SATA link 0 timeout.
AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part ccc apst
Net: eth0: ethernet@01c50000
starting USB...
USB0: USB EHCI 1.00
USB1: USB OHCI 1.0
USB2: USB EHCI 1.00
USB3: USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
reading /sun7i-a20-cubieboard2.dtb
29537 bytes read in 29 ms (994.1 KiB/s)
Found EFI removable media binary efi/boot/bootarm.efi
reading efi/boot/bootarm.efi
65276 bytes read in 41 ms (1.5 MiB/s)
## Starting EFI application at 0x42000000 ...
Scanning disks on scsi...
Scanning disks on usb...
Scanning disks on mmc...
MMC Device 1 not found
MMC Device 2 not found
MMC Device 3 not found
Found 2 disks
>> OpenBSD/armv7 BOOTARM 0.1
boot> boot bsd.rd
cannot open sd0a:/etc/random.seed: No such file or directory
booting sd0a:bsd.rd: 2093312+7928836+428484 [64+297264+142723]=0xa63e30
OpenBSD/armv7 booting ...
arg0 0x40000000 arg1 0x10bb arg2 0x48000000
Allocating page tables
freestart = 0x40d64000, free_pages = 258716 (0x0003f29c)
IRQ stack: p0x40d92000 v0xc0d92000
ABT stack: p0x40d93000 v0xc0d93000
UND stack: p0x40d94000 v0xc0d94000
SVC stack: p0x40d95000 v0xc0d95000
Creating L1 page table at 0x40d64000
Mapping kernel
Constructing L2 page tables
undefined page pmap board type: 4283
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2016 OpenBSD. All rights reserved.
http://www.OpenBSD.org
OpenBSD 6.0-current (RAMDISK) #0: Sun Jul 31 22:39:32 BRT 2016
dbolg...@wbs.my.domain:/usr/src/sys/arch/armv7/compile/RAMDISK
real mem = 1073741824 (1024MB)
avail mem = 1038827520 (990MB)
mainbus0 at root: Cubietech Cubieboard2
cpu0 at mainbus0: ARM Cortex A7 rev 4 (ARMv7 core)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: 32KB(32b/l,2way) I-cache, 32KB(64b/l,4way) wr-back D-cache
cortex0 at mainbus0
ampintc0 at cortex0 nirq 160
agtimer0 at cortex0: tick rate 24000 KHz
sunxi0 at mainbus0
sxipio0 at sunxi0
sxiccmu0 at sunxi0
sxidog0 at sunxi0
sxirtc0 at sunxi0
ahci0 at sunxi0 AHCI 1.1
scsibus0 at ahci0: 32 targets
ehci0 at sunxi0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Allwinner EHCI root hub" rev 2.00/1.00 addr 1
ehci1 at sunxi0
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Allwinner EHCI root hub" rev 2.00/1.00 addr 1
gpio0 at sxipio0: 18 pins
gpio1 at sxipio0: 24 pins
gpio2 at sxipio0: 25 pins
gpio3 at sxipio0: 28 pins
gpio4 at sxipio0: 12 pins
gpio5 at sxipio0: 6 pins
gpio6 at sxipio0: 12 pins
gpio7 at sxipio0: 28 pins
gpio8 at sxipio0: 22 pins
simplebus0 at mainbus0: "soc"
sxiuart0 at simplebus0: console
boot device: lookup 'sd0a:/bsd' failed.
root on rd0a swap on rd0b dump on rd0b
WARNING: clock lost 17013 days
WARNING: CHECK AND RESET THE DATE!
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
pmap_fault_fixup: va 00008000 ftype 5 u pte 7ff2b02e
uvm_fault(0xca49c130, 10000, 2, 0) -> d
Fatal kernel mode data abort: 'Translation Fault (P)'
trapframe: 0xcc3b8dd8
DFSR=00002807, DFAR=00010000, spsr=80000113
r0 =00010000, r1 =00000fff, r2 =00000000, r3 =0000001f
r4 =cc3b9000, r5 =ca49b838, r6 =00000005, r7 =c0cf5a3c
r8 =00000000, r9 =c0cf61f4, r10=c0cf5a3c, r11=cc3b8e70
r12=00000020, ssp=cc3b8e28, slr=c041651c, pc =c040ee4c
panic: Fatal abort
syncing disks... done
rebooting...
--
db