Re: efirtc causing panic (was Re: Panic booting 12-RC2 on amd64)

2019-06-03 Thread Jan Martin Mikkelsen
Hi,

This patch resolves the panic when booting without efi.rt.disabled=1 for me.

Thanks!

Jan M.


> On 31 May 2019, at 20:35, Konstantin Belousov  wrote:
> 
> On Fri, May 31, 2019 at 04:19:57PM +0200, Jan Martin Mikkelsen wrote:
>> Hi,
>> 
>> Christian has pointed me at this 
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233534 which he raised 
>> after his email. The workaround was to boot with “efi.rt.disabled=1”. 
>> 
>> I took a closer look at what is going on. The problem is that the EFI 
>> rt_gettime call is faulting, and the fault is handled in efirt_support.S and 
>> a failure is reported. These messages is in the kernel output:
>> 
>> kernel trap 12 with interrupts disabled
>> kernel trap 12 with interrupts disabled
>> EFI rt_gettime call faulted, error 14
>> efirtc0: cannot read EFI realtime clock, error 14
>> 
>> So far, so good. The problem is that that later in startup the 
>> "smp_targeted_tlb_shootdown: interrupts disabled” panic occurs, if the SMP 
>> is enabled. With SMP disabled this does not occur and the system runs.
>> 
>> I’m not sure whether this is a BIOS problem (seems likely) or something that 
>> could handled after dealing with the fault in efirt_support.S.
>> 
>> While looking I found the code below that looks wrong in efi_enter(), but 
>> that is not the problem in this case.
>> 
>> Just adding this to the archive in case someone else looks more closely 
>> later.
> 
> Try this.  Only compile-time tested.
> 
> diff --git a/sys/amd64/amd64/efirt_support.S b/sys/amd64/amd64/efirt_support.S
> index cd578eddcfb..b54b13b01fe 100644
> --- a/sys/amd64/amd64/efirt_support.S
> +++ b/sys/amd64/amd64/efirt_support.S
> @@ -47,6 +47,9 @@ ENTRY(efi_rt_arch_call)
>   movq%r13, EC_R13(%rdi)
>   movq%r14, EC_R14(%rdi)
>   movq%r15, EC_R15(%rdi)
> + pushfq
> + popq%rax
> + movq%rax, EC_RFLAGS(%rdi)
>   movqPCPU(CURTHREAD), %rax
>   movq%rdi, TD_MD+MD_EFIRT_TMP(%rax)
>   movqPCPU(CURPCB), %rsi
> @@ -98,6 +101,8 @@ efi_rt_arch_call_tail:
>   movqEC_RBP(%rdi), %rbp
>   movqEC_RSP(%rdi), %rsp
>   movqEC_RBX(%rdi), %rbx
> + pushq   EC_RFLAGS(%rdi)
> + popfq
> 
>   popq%rbp
>   ret
> diff --git a/sys/amd64/amd64/genassym.c b/sys/amd64/amd64/genassym.c
> index de3969734a1..2e81b823262 100644
> --- a/sys/amd64/amd64/genassym.c
> +++ b/sys/amd64/amd64/genassym.c
> @@ -272,3 +272,4 @@ ASSYM(EC_R12, offsetof(struct efirt_callinfo, ec_r12));
> ASSYM(EC_R13, offsetof(struct efirt_callinfo, ec_r13));
> ASSYM(EC_R14, offsetof(struct efirt_callinfo, ec_r14));
> ASSYM(EC_R15, offsetof(struct efirt_callinfo, ec_r15));
> +ASSYM(EC_RFLAGS, offsetof(struct efirt_callinfo, ec_rflags));
> diff --git a/sys/amd64/include/efi.h b/sys/amd64/include/efi.h
> index 082223792ac..e630a338c17 100644
> --- a/sys/amd64/include/efi.h
> +++ b/sys/amd64/include/efi.h
> @@ -72,6 +72,7 @@ struct efirt_callinfo {
>   register_t  ec_r13;
>   register_t  ec_r14;
>   register_t  ec_r15;
> + register_t  ec_rflags;
> };
> 
> #endif /* __AMD64_INCLUDE_EFI_H_ */
> ___
> freebsd-stable@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

___
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


efirtc causing panic (was Re: Panic booting 12-RC2 on amd64)

2019-05-31 Thread Jan Martin Mikkelsen
Hi,

Christian has pointed me at this 
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233534 which he raised after 
his email. The workaround was to boot with “efi.rt.disabled=1”. 

I took a closer look at what is going on. The problem is that the EFI 
rt_gettime call is faulting, and the fault is handled in efirt_support.S and a 
failure is reported. These messages is in the kernel output:

kernel trap 12 with interrupts disabled
kernel trap 12 with interrupts disabled
EFI rt_gettime call faulted, error 14
efirtc0: cannot read EFI realtime clock, error 14

So far, so good. The problem is that that later in startup the 
"smp_targeted_tlb_shootdown: interrupts disabled” panic occurs, if the SMP is 
enabled. With SMP disabled this does not occur and the system runs.

I’m not sure whether this is a BIOS problem (seems likely) or something that 
could handled after dealing with the fault in efirt_support.S.

While looking I found the code below that looks wrong in efi_enter(), but that 
is not the problem in this case.

Just adding this to the archive in case someone else looks more closely later.

Regards,

Jan M.


--- a/src/sys/dev/efidev/efirt.c2018-11-19 15:43:47.0 1100
+++ b/src/sys/dev/efidev/efirt.c2018-11-19 15:43:47.0 1100
@@ -245,6 +245,7 @@
 static int
 efi_enter(void)
 {
+   int error;
struct thread *td;
pmap_t curpmap;
 
@@ -255,7 +256,14 @@
PMAP_LOCK(curpmap);
mtx_lock(_lock);
fpu_kern_enter(td, NULL, FPU_KERN_NOCTX);
-   return (efi_arch_enter());
+   error = efi_arch_enter();
+   if (error != 0) {
+   fpu_kern_leave(td, NULL);
+   mtx_unlock(_lock);
+   PMAP_UNLOCK(curpmap);
+   }
+
+   return (error);
 }
 
 static void


> On 31 May 2019, at 12:26, Jan Martin Mikkelsen  
> wrote:
> 
> Hi,
> 
> I see exactly the same stacktrace on a Celeron J1900 based system with 
> 12.0-p5 when using a UEFI boot. With a non-UEFI boot it works fine (except vt 
> not working until the new 915kms.ko is loaded). With safe mode on it also 
> works fine.
> 
> Did you find any more information?
> 
> Regards,
> 
> Jan.
> 
>> On 25 Nov 2018, at 19:26, Christian Ullrich  wrote:
>> 
>> Hello,
>> 
>> I have a reproducible panic booting 12-RC2 and stable/12, 2cf4a7e0d8 
>> from Friday, on a Jetway JNF9HG board, Celeron N2930 CPU, booting with 
>> UEFI. The same box has no problems with stable/11 18f83cbbc9 from Thursday.
>> 
>> There is no serial console on the box right now, but the last screenful 
>> of boot output is this (from the -RC2; the panic'ing symbol is the same 
>> with the stable/12 kernel):
>> 
>> random: entropy device external interface
>> kbd1 at kbdmux0
>> netmap: loaded module
>> [ath_hal] loaded
>> module_register_init: MOD_LOAD (vesa, 0x810f8750, 0) error 19
>> random: registering fast source Intel Secure Key RNG
>> random: fast provider: "Intel Secure Key RNG"
>> nexus0
>> kernel trap 12 with interrupts disabled
>> kernel trap 12 with interrupts disabled
>> cryptosoft0:  on motherboard
>> acpi0: <_> on motherboard
>> panic: smp_targeted_tlb_shootdown: interrupts disabled
>> cpuid = 2
>> time = 1
>> KDB: stack backtrace:
>> #0 0x80be74a7 at kdb_backtrace+0x67
>> #1 0x80b9b093 at vpanic+0x1a3
>> #2 0x80b9aee3 at panic+0x43
>> #3 0x811eda2f at smp_targeted_tlb_shootdown+0x40f
>> #4 0x811ed60d at smp_masked_invltlb+0x3d
>> #5 0x8105d5c5 at pmap_invalidate_range+0x1b5
>> #6 0x8106a429 at pmap_change_attr_locked+0x859
>> #7 0x81069804 at pmap_mapdev_internal+0x424
>> #8 0x81075ed0 at pcie_cfgregopen+0x60
>> #9 0x80451f10 at acpi_attach+0x390
>> #10 0x80bd6efc at device_attach+0x3ec
>> #11 0x80bd81dc at bus_generic_attach+0x5c
>> #12 0x80bd6efc at device_attach+0x3ec  [sic!]
>> #13 0x80bd88b8 at bus_generic_new_pass+0x118
>> #14 0x80bda577 at root_bus_configure+0x77
>> #15 0x811dbce9 at configure+0x9
>> #16 0x80b31a78 at mi_startup+0x118
>> #17 0x8034102c at btext+0x2c
>> Uptime: 1s
>> Automatic reboot in 15 seconds - press a key on the console to abort
>> 
>> If it matters, the build from svn was with CPUTYPE=slm, the -RC2 is 
>> FreeBSD-12.0-RC2-amd64-mini-memstick.img, i.e. without CPUTYPE. I have 
>> been running stable/11 with CPUTYPE=slm on this and other identical CPUs 
>> for a long time with no trouble, so I think it is unrelated.
>> 
>> I'd really like to upgrade to 12. If anyone can suggest something I can 

Re: Panic booting 12-RC2 on amd64

2019-05-31 Thread Jan Martin Mikkelsen
Hi,

I see exactly the same stacktrace on a Celeron J1900 based system with 12.0-p5 
when using a UEFI boot. With a non-UEFI boot it works fine (except vt not 
working until the new 915kms.ko is loaded). With safe mode on it also works 
fine.

Did you find any more information?

Regards,

Jan.

> On 25 Nov 2018, at 19:26, Christian Ullrich  wrote:
> 
> Hello,
> 
> I have a reproducible panic booting 12-RC2 and stable/12, 2cf4a7e0d8 
> from Friday, on a Jetway JNF9HG board, Celeron N2930 CPU, booting with 
> UEFI. The same box has no problems with stable/11 18f83cbbc9 from Thursday.
> 
> There is no serial console on the box right now, but the last screenful 
> of boot output is this (from the -RC2; the panic'ing symbol is the same 
> with the stable/12 kernel):
> 
> random: entropy device external interface
> kbd1 at kbdmux0
> netmap: loaded module
> [ath_hal] loaded
> module_register_init: MOD_LOAD (vesa, 0x810f8750, 0) error 19
> random: registering fast source Intel Secure Key RNG
> random: fast provider: "Intel Secure Key RNG"
> nexus0
> kernel trap 12 with interrupts disabled
> kernel trap 12 with interrupts disabled
> cryptosoft0:  on motherboard
> acpi0: <_> on motherboard
> panic: smp_targeted_tlb_shootdown: interrupts disabled
> cpuid = 2
> time = 1
> KDB: stack backtrace:
> #0 0x80be74a7 at kdb_backtrace+0x67
> #1 0x80b9b093 at vpanic+0x1a3
> #2 0x80b9aee3 at panic+0x43
> #3 0x811eda2f at smp_targeted_tlb_shootdown+0x40f
> #4 0x811ed60d at smp_masked_invltlb+0x3d
> #5 0x8105d5c5 at pmap_invalidate_range+0x1b5
> #6 0x8106a429 at pmap_change_attr_locked+0x859
> #7 0x81069804 at pmap_mapdev_internal+0x424
> #8 0x81075ed0 at pcie_cfgregopen+0x60
> #9 0x80451f10 at acpi_attach+0x390
> #10 0x80bd6efc at device_attach+0x3ec
> #11 0x80bd81dc at bus_generic_attach+0x5c
> #12 0x80bd6efc at device_attach+0x3ec  [sic!]
> #13 0x80bd88b8 at bus_generic_new_pass+0x118
> #14 0x80bda577 at root_bus_configure+0x77
> #15 0x811dbce9 at configure+0x9
> #16 0x80b31a78 at mi_startup+0x118
> #17 0x8034102c at btext+0x2c
> Uptime: 1s
> Automatic reboot in 15 seconds - press a key on the console to abort
> 
> If it matters, the build from svn was with CPUTYPE=slm, the -RC2 is 
> FreeBSD-12.0-RC2-amd64-mini-memstick.img, i.e. without CPUTYPE. I have 
> been running stable/11 with CPUTYPE=slm on this and other identical CPUs 
> for a long time with no trouble, so I think it is unrelated.
> 
> I'd really like to upgrade to 12. If anyone can suggest something I can 
> try, I'll be happy to do experiments.
> 
> -- 
> Christian
> ___
> freebsd-stable@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

___
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: mps and LSI SAS2308: controller resets on 12.0 - IOC Fault 0x40000d04, Resetting

2018-12-18 Thread Jan Martin Mikkelsen
> On 17 Dec 2018, at 20:14, Mike Tancsa  wrote:
> 
> On 12/17/2018 10:52 AM, Mark Martinec wrote:
>> Anyone else seen problems with mps driver and LSI SAS2308 controller?
>> 
>> (btw, on another machine the mps driver with LSI SAS2004 is working
>> just fine under 12.0) 
> 
> 
> Sort of ran into this as well, but with the mfi driver. The same card in
> *some* machines would boot just fine, but in others, it would hang at
> boot time. Not sure if its related or not
> 
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231432
> 
> I was able to get a MegaRAID SAS-3 3108 [Invader] card working by
> forcing it to use the mrsas driver instead of the mfi.  However, my
> 9240s fail with the mfi and they will not work with the mrsas
> 

Interesting. I have a machine with a 9240 and a 9261 that I have just upgraded 
to 12.0 from 10.2 and is working fine with the mfi driver.

However, the standard machine build procedure here includes:

  hw.mfi.msi=“1”

in /boot/loader.conf. This was added to our build procedure back in 2011 to 
deal with the 9261 not working on FreeBSD 9.0.

I wonder if using MSI interrupts would help with your problem?

Regards,

Jan M.





___
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"