Changeset a36c4aa in mainline for uspace/drv
- Timestamp:
- 2025-08-12T18:03:48Z (6 months ago)
- Branches:
- master
- Children:
- 113fb4f
- Parents:
- 2e9f284
- Location:
- uspace/drv/bus/usb
- Files:
-
- 4 edited
-
vhc/conndev.c (modified) (1 diff)
-
xhci/hc.c (modified) (1 diff)
-
xhci/hw_struct/regs.h (modified) (1 diff)
-
xhci/rh.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/vhc/conndev.c
r2e9f284 ra36c4aa 43 43 #include "vhcd.h" 44 44 45 #define PLUGGED_DEVICE_NAME_MAXLEN 256 46 45 47 static fibril_local uintptr_t plugged_device_handle = 0; 46 #define PLUGGED_DEVICE_NAME_MAXLEN 256 47 static fibril_local char plugged_device_name[PLUGGED_DEVICE_NAME_MAXLEN + 1] = "<unknown>"; 48 49 /* 50 * The explicit "initial-exec" TLS model attribute is a temporary workaround 51 * for a bug in GCC (observed in 14.2 and 15.2) that manifests in combination 52 * with the binutils 2.45 linker on MIPS. 53 * 54 * Without the attribute, the linker reports the following error: 55 * 56 * can't find matching LO16 reloc against `plugged_device_name' for 57 * R_MIPS_TLS_TPREL_HI16 at 0x238 in section 58 * `.text.default_connection_handler' 59 * 60 * The immediate cause is a missing R_MIPS_TLS_TPREL_LO16 relocation that 61 * matches the R_MIPS_TLS_TPREL_HI16 relocation. The root cause is probably 62 * an aggressive optimization in the compiler that removes the relocation 63 * despite being needed. 64 */ 65 static fibril_local char plugged_device_name[PLUGGED_DEVICE_NAME_MAXLEN + 1] 66 __attribute__((tls_model("initial-exec"))) = "<unknown>"; 48 67 49 68 /** Receive device name. -
uspace/drv/bus/usb/xhci/hc.c
r2e9f284 ra36c4aa 166 166 speeds[psiv].major = major; 167 167 speeds[psiv].minor = minor; 168 str_ncpy(speeds[psiv].name, 4, name.str, 4);168 memcpy(speeds[psiv].name, name.str, 4); 169 169 speeds[psiv].usb_speed = USB_SPEED_MAX; 170 170 -
uspace/drv/bus/usb/xhci/hw_struct/regs.h
r2e9f284 ra36c4aa 551 551 552 552 typedef union { 553 char str [4];553 char str[4] __attribute__((nonstring)); 554 554 uint32_t packed; 555 555 } xhci_sp_name_t; -
uspace/drv/bus/usb/xhci/rh.h
r2e9f284 ra36c4aa 51 51 */ 52 52 typedef struct xhci_port_speed { 53 char name [4];53 char name[4] __attribute__((nonstring)); 54 54 uint8_t major, minor; 55 55 uint64_t rx_bps, tx_bps;
Note:
See TracChangeset
for help on using the changeset viewer.
