Hi,

I've an xhci issue with this change on my ARM Morello Board.
I've attached boot log. Can you look?

Thanks.

Ruslan

On Thu, Feb 24, 2022 at 09:30:15AM +0000, Hans Petter Selasky wrote:
> The branch main has been updated by hselasky:
> 
> URL: 
> https://cgit.FreeBSD.org/src/commit/?id=7520b88860d7a79432e12ffcc47056844518bb62
> 
> commit 7520b88860d7a79432e12ffcc47056844518bb62
> Author:     Hans Petter Selasky <hsela...@freebsd.org>
> AuthorDate: 2022-02-21 08:24:28 +0000
> Commit:     Hans Petter Selasky <hsela...@freebsd.org>
> CommitDate: 2022-02-24 09:28:55 +0000
> 
>     usb(4): Automagically apply all quirks for USB mass storage devices.
>     
>     Currently there are five quirks the USB stack tries to automagically 
> detect:
>     - UQ_MSC_NO_PREVENT_ALLOW
>     - UQ_MSC_NO_SYNC_CACHE
>     - UQ_MSC_NO_TEST_UNIT_READY
>     - UQ_MSC_NO_GETMAXLUN
>     - UQ_MSC_NO_START_STOP
>     
>     If any of the quirks above are set, no further quirks will be probed.
>     
>     If any of the USB mass storage tests fail, the USB device is
>     re-enumerated as a last resort to clear any error states from the
>     device. Then the USB stack will try to probe and attach the umass<N>
>     device passing the detected quirks.
>     
>     While at it give more details in dmesg about what is going on.
>     
>     Tested by:              several
>     Submitted by:           Idwer Vollering <vidwer_fbsdb...@gmail.com>
>     Differential Revision:  https://reviews.freebsd.org/D30919
>     MFC after:              1 week
>     Sponsored by:           NVIDIA Networking
> ---
>  sys/dev/usb/storage/umass.c |   7 +++
>  sys/dev/usb/usb_device.c    |   5 +-
>  sys/dev/usb/usb_msctest.c   | 133 
> +++++++++++++++++++++++++++-----------------
>  sys/dev/usb/usb_msctest.h   |   4 +-
>  4 files changed, 96 insertions(+), 53 deletions(-)
> 
> diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c
> index 65c72b06e244..674c12186f86 100644
> --- a/sys/dev/usb/storage/umass.c
> +++ b/sys/dev/usb/storage/umass.c
> @@ -2294,6 +2294,13 @@ umass_cam_action(struct cam_sim *sim, union ccb *ccb)
>                                               xpt_done(ccb);
>                                               goto done;
>                                       }
> +                             } else if (sc->sc_transfer.cmd_data[0] == 
> START_STOP_UNIT) {
> +                                     if (sc->sc_quirks & NO_START_STOP) {
> +                                             ccb->csio.scsi_status = 
> SCSI_STATUS_OK;
> +                                             ccb->ccb_h.status = CAM_REQ_CMP;
> +                                             xpt_done(ccb);
> +                                             goto done;
> +                                     }
>                               }
>                               umass_command_start(sc, dir, ccb->csio.data_ptr,
>                                   ccb->csio.dxfer_len,
> diff --git a/sys/dev/usb/usb_device.c b/sys/dev/usb/usb_device.c
> index 634507fc65ca..6564182a97b0 100644
> --- a/sys/dev/usb/usb_device.c
> +++ b/sys/dev/usb/usb_device.c
> @@ -2047,13 +2047,16 @@ repeat_set_config:
>       }
>  #if USB_HAVE_MSCTEST
>       if (set_config_failed == 0 && config_index == 0 &&
> +         usb_test_quirk(&uaa, UQ_MSC_NO_START_STOP) == 0 &&
> +         usb_test_quirk(&uaa, UQ_MSC_NO_PREVENT_ALLOW) == 0 &&
>           usb_test_quirk(&uaa, UQ_MSC_NO_SYNC_CACHE) == 0 &&
> +         usb_test_quirk(&uaa, UQ_MSC_NO_TEST_UNIT_READY) == 0 &&
>           usb_test_quirk(&uaa, UQ_MSC_NO_GETMAXLUN) == 0) {
>               /*
>                * Try to figure out if there are any MSC quirks we
>                * should apply automatically:
>                */
> -             err = usb_msc_auto_quirk(udev, 0);
> +             err = usb_msc_auto_quirk(udev, 0, &uaa);
>  
>               if (err != 0) {
>                       set_config_failed = 1;
> diff --git a/sys/dev/usb/usb_msctest.c b/sys/dev/usb/usb_msctest.c
> index 0fffd99a73c4..5dcf8d151119 100644
> --- a/sys/dev/usb/usb_msctest.c
> +++ b/sys/dev/usb/usb_msctest.c
> @@ -2,7 +2,8 @@
>  /*-
>   * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
>   *
> - * Copyright (c) 2008,2011 Hans Petter Selasky. All rights reserved.
> + * Copyright (c) 2008-2022 Hans Petter Selasky.
> + * Copyright (c) 2021-2022 Idwer Vollering.
>   *
>   * Redistribution and use in source and binary forms, with or without
>   * modification, are permitted provided that the following conditions
> @@ -29,9 +30,6 @@
>  /*
>   * The following file contains code that will detect USB autoinstall
>   * disks.
> - *
> - * TODO: Potentially we could add code to automatically detect USB
> - * mass storage quirks for not supported SCSI commands!
>   */
>  
>  #ifdef USB_GLOBAL_INCLUDE_FILE
> @@ -97,7 +95,8 @@ enum {
>  static uint8_t scsi_test_unit_ready[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
> };
>  static uint8_t scsi_inquiry[] = { 0x12, 0x00, 0x00, 0x00, SCSI_INQ_LEN, 0x00 
> };
>  static uint8_t scsi_rezero_init[] =     { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 
> };
> -static uint8_t scsi_start_stop_unit[] = { 0x1b, 0x00, 0x00, 0x00, 0x02, 0x00 
> };
> +static uint8_t scsi_start_unit[] = { 0x1b, 0x00, 0x00, 0x00, 0x01, 0x00 };
> +static uint8_t scsi_stop_unit[] = { 0x1b, 0x00, 0x00, 0x00, 0x02, 0x00 };
>  static uint8_t scsi_ztestor_eject[] =   { 0x85, 0x01, 0x01, 0x01, 0x18, 0x01,
>                                         0x01, 0x01, 0x01, 0x01, 0x00, 0x00 };
>  static uint8_t scsi_cmotech_eject[] =   { 0xff, 0x52, 0x44, 0x45, 0x56, 0x43,
> @@ -759,28 +758,49 @@ usb_msc_get_max_lun(struct usb_device *udev, uint8_t 
> iface_index)
>       return (buf);
>  }
>  
> +#define      USB_ADD_QUIRK(udev, any, which) do { \
> +     if (usb_get_manufacturer(udev) != NULL && usb_get_product(udev) != 
> NULL) { \
> +             DPRINTFN(0, #which " set for USB mass storage device %s %s 
> (0x%04x:0x%04x)\n", \
> +                     usb_get_manufacturer(udev), \
> +                     usb_get_product(udev), \
> +                     UGETW(udev->ddesc.idVendor), \
> +                     UGETW(udev->ddesc.idProduct)); \
> +     } else { \
> +             DPRINTFN(0, #which " set for USB mass storage device, 
> 0x%04x:0x%04x\n", \
> +                     UGETW(udev->ddesc.idVendor), \
> +                     UGETW(udev->ddesc.idProduct)); \
> +     } \
> +     usbd_add_dynamic_quirk(udev, which); \
> +     any = 1; \
> +} while (0)
> +
>  usb_error_t
> -usb_msc_auto_quirk(struct usb_device *udev, uint8_t iface_index)
> +usb_msc_auto_quirk(struct usb_device *udev, uint8_t iface_index,
> +    const struct usb_attach_arg *uaa)
>  {
>       struct bbb_transfer *sc;
>       uint8_t timeout;
>       uint8_t is_no_direct;
>       uint8_t sid_type;
> +     uint8_t any_quirk;
>       int err;
>  
>       sc = bbb_attach(udev, iface_index, UICLASS_MASS);
>       if (sc == NULL)
>               return (0);
>  
> +     any_quirk = 0;
> +
>       /*
>        * Some devices need a delay after that the configuration
>        * value is set to function properly:
>        */
>       usb_pause_mtx(NULL, hz);
>  
> -     if (usb_msc_get_max_lun(udev, iface_index) == 0) {
> +     if (usb_test_quirk(uaa, UQ_MSC_NO_GETMAXLUN) == 0 &&
> +         usb_msc_get_max_lun(udev, iface_index) == 0) {
>               DPRINTF("Device has only got one LUN.\n");
> -             usbd_add_dynamic_quirk(udev, UQ_MSC_NO_GETMAXLUN);
> +             USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_GETMAXLUN);
>       }
>  
>       is_no_direct = 1;
> @@ -807,37 +827,40 @@ usb_msc_auto_quirk(struct usb_device *udev, uint8_t 
> iface_index)
>               goto done;
>       }
>  
> -     err = bbb_command_start(sc, DIR_IN, 0, NULL, 0,
> -         &scsi_test_unit_ready, sizeof(scsi_test_unit_ready),
> -         USB_MS_HZ);
> +     if (usb_test_quirk(uaa, UQ_MSC_NO_TEST_UNIT_READY) == 0) {
> +             err = bbb_command_start(sc, DIR_NONE, 0, NULL, 0,
> +                 &scsi_test_unit_ready, sizeof(scsi_test_unit_ready),
> +                 USB_MS_HZ);
>  
> -     if (err != 0) {
> -             if (err != ERR_CSW_FAILED)
> -                     goto error;
> -             DPRINTF("Test unit ready failed\n");
> +             if (err != 0) {
> +                     if (err != ERR_CSW_FAILED)
> +                             goto error;
> +                     USB_ADD_QUIRK(udev, any_quirk, 
> UQ_MSC_NO_TEST_UNIT_READY);
> +             }
>       }
>  
> -     err = bbb_command_start(sc, DIR_OUT, 0, NULL, 0,
> -         &scsi_prevent_removal, sizeof(scsi_prevent_removal),
> -         USB_MS_HZ);
> -
> -     if (err == 0) {
> -             err = bbb_command_start(sc, DIR_OUT, 0, NULL, 0,
> -                 &scsi_allow_removal, sizeof(scsi_allow_removal),
> +     if (usb_test_quirk(uaa, UQ_MSC_NO_PREVENT_ALLOW) == 0) {
> +             err = bbb_command_start(sc, DIR_NONE, 0, NULL, 0,
> +                 &scsi_prevent_removal, sizeof(scsi_prevent_removal),
>                   USB_MS_HZ);
> -     }
>  
> -     if (err != 0) {
> -             if (err != ERR_CSW_FAILED)
> -                     goto error;
> -             DPRINTF("Device doesn't handle prevent and allow removal\n");
> -             usbd_add_dynamic_quirk(udev, UQ_MSC_NO_PREVENT_ALLOW);
> +             if (err == 0) {
> +                     err = bbb_command_start(sc, DIR_NONE, 0, NULL, 0,
> +                         &scsi_allow_removal, sizeof(scsi_allow_removal),
> +                         USB_MS_HZ);
> +             }
> +
> +             if (err != 0) {
> +                     if (err != ERR_CSW_FAILED)
> +                             goto error;
> +                     USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_PREVENT_ALLOW);
> +             }
>       }
>  
>       timeout = 1;
>  
>  retry_sync_cache:
> -     err = bbb_command_start(sc, DIR_IN, 0, NULL, 0,
> +     err = bbb_command_start(sc, DIR_NONE, 0, NULL, 0,
>           &scsi_sync_cache, sizeof(scsi_sync_cache),
>           USB_MS_HZ);
>  
> @@ -845,9 +868,7 @@ retry_sync_cache:
>               if (err != ERR_CSW_FAILED)
>                       goto error;
>  
> -             DPRINTF("Device doesn't handle synchronize cache\n");
> -
> -             usbd_add_dynamic_quirk(udev, UQ_MSC_NO_SYNC_CACHE);
> +             USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_SYNC_CACHE);
>       } else {
>               /*
>                * Certain Kingston memory sticks fail the first
> @@ -872,11 +893,7 @@ retry_sync_cache:
>                               if (timeout--)
>                                       goto retry_sync_cache;
>  
> -                             DPRINTF("Device most likely doesn't "
> -                                 "handle synchronize cache\n");
> -
> -                             usbd_add_dynamic_quirk(udev,
> -                                 UQ_MSC_NO_SYNC_CACHE);
> +                             USB_ADD_QUIRK(udev, any_quirk, 
> UQ_MSC_NO_SYNC_CACHE);
>                       } else {
>                               if (err != ERR_CSW_FAILED)
>                                       goto error;
> @@ -884,6 +901,18 @@ retry_sync_cache:
>               }
>       }
>  
> +     if (usb_test_quirk(uaa, UQ_MSC_NO_START_STOP) == 0) {
> +             err = bbb_command_start(sc, DIR_NONE, 0, NULL, 0,
> +                 &scsi_start_unit, sizeof(scsi_start_unit),
> +                 USB_MS_HZ);
> +
> +             if (err != 0) {
> +                     if (err != ERR_CSW_FAILED)
> +                             goto error;
> +                     USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_START_STOP);
> +             }
> +     }
> +
>       /* clear sense status of any failed commands on the device */
>  
>       err = bbb_command_start(sc, DIR_IN, 0, sc->buffer,
> @@ -907,24 +936,28 @@ retry_sync_cache:
>               if (err != ERR_CSW_FAILED)
>                       goto error;
>       }
> +     goto done;
>  
> +error:
> +     /* Apply most quirks */
> +     USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_SYNC_CACHE);
> +     USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_PREVENT_ALLOW);
> +     USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_TEST_UNIT_READY);
> +     USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_START_STOP);
>  done:
>       bbb_detach(sc);
> -     return (0);
>  
> -error:
> -     bbb_detach(sc);
> -
> -     DPRINTF("Device did not respond, enabling all quirks\n");
> -
> -     usbd_add_dynamic_quirk(udev, UQ_MSC_NO_SYNC_CACHE);
> -     usbd_add_dynamic_quirk(udev, UQ_MSC_NO_PREVENT_ALLOW);
> -     usbd_add_dynamic_quirk(udev, UQ_MSC_NO_TEST_UNIT_READY);
> +     if (any_quirk) {
> +             /* Unconfigure device, to clear software data toggle. */
> +             usbd_set_config_index(udev, USB_UNCONFIG_INDEX);
>  
> -     /* Need to re-enumerate the device */
> -     usbd_req_re_enumerate(udev, NULL);
> +             /* Need to re-enumerate the device to clear its state. */
> +             usbd_req_re_enumerate(udev, NULL);
> +             return (USB_ERR_STALLED);
> +     }
>  
> -     return (USB_ERR_STALLED);
> +     /* No quirks were added, continue as usual. */
> +     return (0);
>  }
>  
>  usb_error_t
> @@ -944,7 +977,7 @@ usb_msc_eject(struct usb_device *udev, uint8_t 
> iface_index, int method)
>                   USB_MS_HZ);
>               DPRINTF("Test unit ready status: %s\n", usbd_errstr(err));
>               err = bbb_command_start(sc, DIR_IN, 0, NULL, 0,
> -                 &scsi_start_stop_unit, sizeof(scsi_start_stop_unit),
> +                 &scsi_stop_unit, sizeof(scsi_stop_unit),
>                   USB_MS_HZ);
>               break;
>       case MSC_EJECT_REZERO:
> diff --git a/sys/dev/usb/usb_msctest.h b/sys/dev/usb/usb_msctest.h
> index 6b5d3283738b..ba4e094bab60 100644
> --- a/sys/dev/usb/usb_msctest.h
> +++ b/sys/dev/usb/usb_msctest.h
> @@ -2,7 +2,7 @@
>  /*-
>   * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
>   *
> - * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
> + * Copyright (c) 2008-2022 Hans Petter Selasky.
>   *
>   * Redistribution and use in source and binary forms, with or without
>   * modification, are permitted provided that the following conditions
> @@ -44,7 +44,7 @@ int usb_iface_is_cdrom(struct usb_device *udev,
>  usb_error_t usb_msc_eject(struct usb_device *udev,
>           uint8_t iface_index, int method);
>  usb_error_t usb_msc_auto_quirk(struct usb_device *udev,
> -         uint8_t iface_index);
> +         uint8_t iface_index, const struct usb_attach_arg *uaa);
>  usb_error_t usb_msc_read_10(struct usb_device *udev,
>           uint8_t iface_index, uint32_t lba, uint32_t blocks,
>           void *buffer);
UEFI Interactive Shell v2.2
EDK II
UEFI v2.70 (EDK II, 0x00010000)
Mapping table
      FS1: Alias(s):F2:
          MemoryMapped(0xB,0xFEA32008,0xFEFBC247)
      FS0: Alias(s):F1:
Consoles: EFI console  
    Reading loader env vars from /efi/freebsd/loader.env
FreeBSD/arm64 EFI loader, Revision 1.1
(Tue Dec 28 17:31:48 GMT 2021 b...@pooh.bsdpad.com)

   Command line arguments: loader.efi
   Image base: 0xf8fbe000
   EFI version: 2.70
   EFI Firmware: EDK II (rev 1.00)
   Console: efi (0x1000)
   Load Path: loader.efi
   Load Device: PcieRoot(0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x13,0x0)/Pci(0x0,0x
0)/MAC(0002F70094CA,0x1)
   BootCurrent: 0001
   BootOrder: 0000 0001[*] 0002 0003 0004 0005 0006
ERROR: cannot open /boot/lua/loader.lua: no such file or directory.


Type '?' for a list of commands, 'help' for more detailed help.
OK boot
./kernel text=0x2a8 text=0x6ff560 text=0x1e4364 data=0x17d608 data=0x0+0x409000 
syms=[0x8+0xf6dc8+0x8+0x11ab1c]
Using DTB compiled into kernel.
EFI framebuffer information:
addr, size     0x0, 0x0
dimensions     0 x 0
stride         0
masks          0x00000000, 0x00000000, 0x00000000, 0x00000000
---<<BOOT>>---
GDB: debug ports: uart
GDB: current port: uart
KDB: debugger backends: ddb gdb
KDB: current backend: ddb
Copyright (c) 1992-2022 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 14.0-CURRENT #872 drm_base-n243476-6e2288e1ceee: Sun Feb 27 19:34:28 
GMT 2022
    
b...@pooh.bsdpad.com:/mnt/obj/usr/home/br/dev/freebsd-head/arm64.aarch64/sys/MORELLO
 arm64
FreeBSD clang version 13.0.0 (g...@github.com:llvm/llvm-project.git 
llvmorg-13.0.0-0-gd7b669b3a303)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
real memory  = 17160749056 (16365 MB)
avail memory = 16707280896 (15933 MB)
Starting CPU 1 (100)
Starting CPU 2 (10000)
Starting CPU 3 (10100)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
arc4random: WARNING: initial seeding bypassed the cryptographic random device 
because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
random: entropy device external interface
MAP f9270000 mode 2 pages 128
MAP f9560000 mode 2 pages 80
MAP f95b0000 mode 2 pages 80
MAP f9600000 mode 2 pages 80
MAP f9650000 mode 2 pages 80
MAP f96a0000 mode 2 pages 80
MAP f96f0000 mode 2 pages 80
MAP f9750000 mode 2 pages 80
MAP f97a0000 mode 2 pages 96
MAP f9800000 mode 2 pages 80
MAP f9850000 mode 2 pages 80
MAP f98a0000 mode 2 pages 80
MAP f98f0000 mode 2 pages 80
MAP fe960000 mode 2 pages 80
MAP 1c100000 mode 0 pages 1
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
clk_fixed1: <Fixed clock> on ofwbus0
clk_fixed2: <Fixed clock> on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
gic0: <ARM Generic Interrupt Controller v3.0> mem 
0x30000000-0x3000ffff,0x300c0000-0x3013ffff irq 0 on ofwbus0
its0: <ARM GIC Interrupt Translation Service> mem 0x30040000-0x3005ffff on gic0
its1: <ARM GIC Interrupt Translation Service> mem 0x30060000-0x3007ffff on gic0
its2: <ARM GIC Interrupt Translation Service> mem 0x30080000-0x3009ffff on gic0
its3: <ARM GIC Interrupt Translation Service> mem 0x300a0000-0x300bffff on gic0
cdns_i2c0: <Cadence I2C> mem 0x1c0f0000-0x1c0f0fff irq 25 on ofwbus0
cdns_i2c_attach: original CR 150e
cdns_i2c_attach: new CR 950e
iicbus0: <OFW I2C bus> on cdns_i2c0
cdns_i2c_reset
tda0 at addr 0xe0 on iicbus0
tda0: TDA19988
komeda_drm0: <ARM Komeda Display Subsystem> mem 0x2cc00000-0x2cc1ffff irq 21 on 
ofwbus0
komeda_drm0: Mali arch_id reg 44501000
komeda_drm0: ARM Mali D 32 r0p0 detected
komeda_drm0: Mali core_info reg 127
komeda_drm0: num blocks 39, num pipelines 1
komeda_drm0: Max line size 2048, max num lines 8192, num rich layers 2
komeda_drm0: dual link supp 0, tbu 1
panfrost0: <Mali Midgard/Bifrost GPU> mem 0x2d000000-0x2d003fff irq 22,23,24 on 
ofwbus0
panfrost0: Mali GPU clock is unknown
generic_timer0: <ARMv8 Generic Timer> irq 3,4,5,6 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 50000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 50000000 Hz quality 1000
efirtc0: <EFI Realtime Clock>
efirtc0: registered as a time-of-day clock, resolution 1.000000s
pmu0: <Performance Monitoring Unit> irq 1 on ofwbus0
uart0: <PrimeCell UART (PL011)> mem 0x2a400000-0x2a400fff irq 9 on ofwbus0
uart0: console (115200,n,8,1)
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
pcib0: <Generic PCI host controller> mem 0x28c0000000-0x28cfffffff on ofwbus0
pci0: <OFW PCI bus> on pcib0
pcib1: <PCI-PCI bridge> at device 0.0 on pci0
pci1: <PCI bus> on pcib1
pcib2: <PCI-PCI bridge> mem 0x60300000-0x6033ffff at device 0.0 on pci1
pci2: <PCI bus> on pcib2
pcib3: <PCI-PCI bridge> at device 8.0 on pci2
pcib4: <PCI-PCI bridge> at device 16.0 on pci2
pci3: <PCI bus> on pcib4
pcib5: <PCI-PCI bridge> at device 17.0 on pci2
pcib6: <PCI-PCI bridge> at device 18.0 on pci2
pci4: <PCI bus> on pcib6
ahci0: <Marvell 88SE9170 AHCI SATA controller> port 
0x1018-0x101f,0x1024-0x1027,0x1010-0x1017,0x1020-0x1023,0x1000-0x100f mem 
0x60200000-0x602001ff at device 0.0 on pci4
ahci0: AHCI v1.00 with 2 6Gbps ports, Port Multiplier supported with FBS
ahci0: quirks=0x1000000<IOMMU_BUSWIDE>
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
pcib7: <PCI-PCI bridge> at device 19.0 on pci2
pci5: <PCI bus> on pcib7
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> mem 
0x60100000-0x60100fff,0x900000000-0x900003fff at device 0.0 on pci5
re0: Using 1 MSI-X message
re0: turning off MSI enable bit.
re0: Chip rev. 0x4c000000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8251/8153 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 
100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 
1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Using defaults for TSO: 65518/35/2048
re0: Ethernet address: 00:02:f7:00:94:ca
pcib8: <PCI-PCI bridge> at device 20.0 on pci2
pci6: <PCI bus> on pcib8
xhci0: <XHCI (generic) USB 3.0 controller> mem 
0x60000000-0x6000ffff,0x60010000-0x60011fff at device 0.0 on pci6
xhci0: 64 bytes context size, 64-bit DMA
usbus0 on xhci0
pcib9: <Generic PCI host controller> mem 0x4fc0000000-0x4fcfffffff on ofwbus0
pci7: <OFW PCI bus> on pcib9
iic0: <I2C generic I/O> on iicbus0
armv8crypto0: <AES-CBC,AES-XTS,AES-GCM>
Timecounters tick every 1.000 msec
komeda_drm_irq_hook: pipeline found, reg 0
<6>[drm] Connector HDMI-A-1: get mode from tunables:
<6>[drm]   - kern.vt.fb.modes.HDMI-A-1
<6>[drm]   - kern.vt.fb.default_mode
komeda_drm_fb_preinit
<6>[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
usbus0: 5.0Gbps Super Speed USB v3.0
ugen0.1: <(0x104c) XHCI root HUB> at usbus0
uhub0 on usbus0
uhub0: <(0x104c) XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD 14.0.
VT: initialize with new VT driver "fb".
<6>[drm] Initialized mali-dp 1.0.0 20220114 for komeda_drm on minor 0
panfrost0: GPU revision 0, id 7211
panfrost0: Mali 7211, major 0, minor 0, status 0
panfrost0: Features: L2 7120206, Shader 0, Tiler 809, Mem 101, MMU 2830, AS ff, 
JS 7
panfrost0: panfrost_gpu_intr: pending 600
panfrost0: panfrost_gpu_intr: pending 600
panfrost0: panfrost_gpu_intr: pending 600
panfrost0: GPU is powered on
panfrost0: panfrost_gpu_intr: pending 20000
Bad malloc flags: 0
KDB: stack backtrace:
db_trace_self() at db_trace_self
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
malloc_dbg() at malloc_dbg+0x70
malloc() at malloc+0x2c
drm_sched_init() at drm_sched_init+0x1ac
panfrost_job_init() at panfrost_job_init+0xfc
panfrost_irq_hook() at panfrost_irq_hook+0x68
config_intrhook_oneshot_func() at config_intrhook_oneshot_func+0x14
run_interrupt_driven_config_hooks() at run_interrupt_driven_config_hooks+0x90
boot_run_interrupt_driven_config_hooks() at 
boot_run_interrupt_driven_config_hooks+0x2c
mi_startup() at mi_startup+0x130
virtdone() at virtdone+0x7c
<6>[drm] Initialized panfrost 1.2.0 20201124 for panfrost on minor 1
CPU  0: Unknown Implementer (midr: 3f0f4120) affinity:  0  0  0
                   Cache Type = <64 byte D-cacheline,64 byte I-cacheline,PIPT 
ICache,64 byte ERG,64 byte CWG,IDC,DIC>
 Instruction Set Attributes 0 = <DP,RDM,Atomic,CRC32,SHA2,SHA1,AES+PMULL>
 Instruction Set Attributes 1 = <RCPC-8.3,DCPoP>
         Processor Features 0 = 
<CSV3,CSV2,RAS,GIC,AdvSIMD+HP,FP+HP,EL3,EL2,EL1,EL0>
         Processor Features 1 = <PSTATE.SSBS MSR,0x100000>
      Memory Model Features 0 = <TGran4,TGran64,TGran16,SNSMem,16bit ASID,256TB 
PA>
      Memory Model Features 1 = <XNX,PAN+ATS1E1,LO,HPD+TTPBHA,VH,16bit 
VMID,HAF+DS>
      Memory Model Features 2 = <EVT-8.2,32bit CCIDX,48bit VA,IESB,UAO,CnP>
             Debug Features 0 = <DoubleLock,SPE,2 CTX BKPTs,4 Watchpoints,6 
Breakpoints,PMUv3 v8.1,Debugv8.2>
             Debug Features 1 = <>
         Auxiliary Features 0 = <>
         Auxiliary Features 1 = <>
AArch32 Instruction Set Attributes 5 = <>
AArch32 Media and VFP Features 0 = <>
AArch32 Media and VFP Features 1 = <>
CPU  1: Unknown Implementer (midr: 3f0f4120) affinity:  0  1  0
CPU  2: Unknown Implementer (midr: 3f0f4120) affinity:  1  0  0
CPU  3: Unknown Implementer (midr: 3f0f4120) affinity:  1  1  0
Release APs...Trying to mount root from ufs:/dev/ada0 []...
done
WARNING: WITNESS option enabled, expect reduced performance.
gcu_intr: reg 10
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <Samsung SSD 870 EVO 4TB SVT01B6Q> ACS-4 ATA SATA 3.x device
ada0: Serial Number S6BCNJ0RA04151P
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes)
ada0: Command Queueing enabled
ada0: 3815447MB (7814037168 512 byte sectors)
uhub0: 8 ports with 8 removable, self powered
ugen0.2: <vendor 0x0000 USB OPTICAL MOUSE> at usbus0
ums0 on uhub0
ums0: <vendor 0x0000 USB OPTICAL MOUSE, class 0/0, rev 1.10/1.00, addr 1> on 
usbus0
ums0: 3 buttons and [XYZ] coordinates ID=1
Root mount waiting for: usbus0
ugen0.3: <LITEON Technology USB Multimedia Keyboard> at usbus0
ukbd0 on uhub0
ukbd0: <LITEON Technology USB Multimedia Keyboard, class 0/0, rev 1.10/1.01, 
addr 2> on usbus0
kbd1 at ukbd0
Root mount waiting for: usbus0
usb_msc_auto_quirk: UQ_MSC_NO_GETMAXLUN set for USB mass storage device SanDisk 
Extreme (0x0781:0x5580)
xhci0: Resetting controller
Root mount waiting for: usbus0
Root mount waiting for: usbus0
usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_TIMEOUT, ignored)
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
usbd_setup_device_desc: getting device descriptor at addr 3 failed, 
USB_ERR_TIMEOUT
Root mount waiting for: usbus0
usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_TIMEOUT, ignored)
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0

Reply via email to