nix-archive-1(type directoryentry(nameincludenode(type directoryentry(name pciaccess.hnode(typeregularcontents`</* * (C) Copyright IBM Corporation 2006 * Copyright 2009 Red Hat, Inc. * All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * on the rights to use, copy, modify, merge, publish, distribute, sub * license, and/or sell copies of the Software, and to permit persons to whom * the Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL * IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ /* * Copyright (c) 2007 Paulo R. Zanoni, Tiago Vignatti * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * */ /** * \file pciaccess.h * * \author Ian Romanick */ #ifndef PCIACCESS_H #define PCIACCESS_H #include #if (__GNUC__ >= 3) || (__SUNPRO_C >= 0x5130) #define __deprecated __attribute__((deprecated)) #else #define __deprecated #endif typedef uint64_t pciaddr_t; struct pci_device; struct pci_device_iterator; struct pci_id_match; struct pci_slot_match; #ifdef __cplusplus extern "C" { #endif int pci_device_has_kernel_driver(struct pci_device *dev); int pci_device_is_boot_vga(struct pci_device *dev); int pci_device_read_rom(struct pci_device *dev, void *buffer); int __deprecated pci_device_map_region(struct pci_device *dev, unsigned region, int write_enable); int __deprecated pci_device_unmap_region(struct pci_device *dev, unsigned region); int pci_device_map_range(struct pci_device *dev, pciaddr_t base, pciaddr_t size, unsigned map_flags, void **addr); int pci_device_unmap_range(struct pci_device *dev, void *memory, pciaddr_t size); int __deprecated pci_device_map_memory_range(struct pci_device *dev, pciaddr_t base, pciaddr_t size, int write_enable, void **addr); int __deprecated pci_device_unmap_memory_range(struct pci_device *dev, void *memory, pciaddr_t size); int pci_device_probe(struct pci_device *dev); const struct pci_agp_info *pci_device_get_agp_info(struct pci_device *dev); const struct pci_bridge_info *pci_device_get_bridge_info( struct pci_device *dev); const struct pci_pcmcia_bridge_info *pci_device_get_pcmcia_bridge_info( struct pci_device *dev); int pci_device_get_bridge_buses(struct pci_device *dev, int *primary_bus, int *secondary_bus, int *subordinate_bus); int pci_system_init(void); void pci_system_init_dev_mem(int fd); void pci_system_cleanup(void); struct pci_device_iterator *pci_slot_match_iterator_create( const struct pci_slot_match *match); struct pci_device_iterator *pci_id_match_iterator_create( const struct pci_id_match *match); void pci_iterator_destroy(struct pci_device_iterator *iter); struct pci_device *pci_device_next(struct pci_device_iterator *iter); struct pci_device *pci_device_find_by_slot(uint32_t domain, uint32_t bus, uint32_t dev, uint32_t func); struct pci_device *pci_device_get_parent_bridge(struct pci_device *dev); void pci_get_strings(const struct pci_id_match *m, const char **device_name, const char **vendor_name, const char **subdevice_name, const char **subvendor_name); const char *pci_device_get_device_name(const struct pci_device *dev); const char *pci_device_get_subdevice_name(const struct pci_device *dev); const char *pci_device_get_vendor_name(const struct pci_device *dev); const char *pci_device_get_subvendor_name(const struct pci_device *dev); void pci_device_enable(struct pci_device *dev); int pci_device_cfg_read (struct pci_device *dev, void *data, pciaddr_t offset, pciaddr_t size, pciaddr_t *bytes_read); int pci_device_cfg_read_u8 (struct pci_device *dev, uint8_t *data, pciaddr_t offset); int pci_device_cfg_read_u16(struct pci_device *dev, uint16_t *data, pciaddr_t offset); int pci_device_cfg_read_u32(struct pci_device *dev, uint32_t *data, pciaddr_t offset); int pci_device_cfg_write (struct pci_device *dev, const void *data, pciaddr_t offset, pciaddr_t size, pciaddr_t *bytes_written); int pci_device_cfg_write_u8 (struct pci_device *dev, uint8_t data, pciaddr_t offset); int pci_device_cfg_write_u16(struct pci_device *dev, uint16_t data, pciaddr_t offset); int pci_device_cfg_write_u32(struct pci_device *dev, uint32_t data, pciaddr_t offset); int pci_device_cfg_write_bits(struct pci_device *dev, uint32_t mask, uint32_t data, pciaddr_t offset); #ifdef __cplusplus } #endif /** * \name Mapping flags passed to \c pci_device_map_range */ /*@{*/ #define PCI_DEV_MAP_FLAG_WRITABLE (1U<<0) #define PCI_DEV_MAP_FLAG_WRITE_COMBINE (1U<<1) #define PCI_DEV_MAP_FLAG_CACHABLE (1U<<2) /*@}*/ #define PCI_MATCH_ANY (~0U) /** * Compare two PCI ID values (either vendor or device). This is used * internally to compare the fields of \c pci_id_match to the fields of * \c pci_device. */ #define PCI_ID_COMPARE(a, b) \ (((a) == PCI_MATCH_ANY) || ((a) == (b))) /** */ struct pci_id_match { /** * \name Device / vendor matching controls * * Control the search based on the device, vendor, subdevice, or subvendor * IDs. Setting any of these fields to \c PCI_MATCH_ANY will cause the * field to not be used in the comparison. */ /*@{*/ uint32_t vendor_id; uint32_t device_id; uint32_t subvendor_id; uint32_t subdevice_id; /*@}*/ /** * \name Device class matching controls * */ /*@{*/ uint32_t device_class; uint32_t device_class_mask; /*@}*/ intptr_t match_data; }; /** */ struct pci_slot_match { /** * \name Device slot matching controls * * Control the search based on the domain, bus, slot, and function of * the device. Setting any of these fields to \c PCI_MATCH_ANY will cause * the field to not be used in the comparison. */ /*@{*/ uint32_t domain; uint32_t bus; uint32_t dev; uint32_t func; /*@}*/ intptr_t match_data; }; /** * BAR descriptor for a PCI device. */ struct pci_mem_region { /** * When the region is mapped, this is the pointer to the memory. * * This field is \b only set when the deprecated \c pci_device_map_region * interface is used. Use \c pci_device_map_range instead. * * \deprecated */ void *memory; /** * Base physical address of the region within its bus / domain. * * \warning * This address is really only useful to other devices in the same * domain. It's probably \b not the address applications will ever * use. * * \warning * Most (all?) platform back-ends leave this field unset. */ pciaddr_t bus_addr; /** * Base physical address of the region from the CPU's point of view. * * This address is typically passed to \c pci_device_map_range to create * a mapping of the region to the CPU's virtual address space. */ pciaddr_t base_addr; /** * Size, in bytes, of the region. */ pciaddr_t size; /** * Is the region I/O ports or memory? */ unsigned is_IO:1; /** * Is the memory region prefetchable? * * \note * This can only be set if \c is_IO is not set. */ unsigned is_prefetchable:1; /** * Is the memory at a 64-bit address? * * \note * This can only be set if \c is_IO is not set. */ unsigned is_64:1; }; /** * PCI device. * * Contains all of the information about a particular PCI device. * * This structure - like everything else in libpciaccess - is allocated * by the library itself. Do not embed this structure in other structs, * or otherwise allocate them yourself. */ struct pci_device { /** * \name Device bus identification. * * Complete bus identification, including domain, of the device. On * platforms that do not support PCI domains (e.g., 32-bit x86 hardware), * the domain will always be zero. * * The domain_16 field is provided for binary compatibility with older * libpciaccess. */ /*@{*/ uint16_t domain_16; uint8_t bus; uint8_t dev; uint8_t func; /*@}*/ /** * \name Vendor / device ID * * The vendor ID, device ID, and sub-IDs for the device. */ /*@{*/ uint16_t vendor_id; uint16_t device_id; uint16_t subvendor_id; uint16_t subdevice_id; /*@}*/ /** * Device's class, subclass, and programming interface packed into a * single 32-bit value. The class is at bits [23:16], subclass is at * bits [15:8], and programming interface is at [7:0]. */ uint32_t device_class; /** * Device revision number, as read from the configuration header. */ uint8_t revision; /** * BAR descriptors for the device. */ struct pci_mem_region regions[6]; /** * Size, in bytes, of the device's expansion ROM. */ pciaddr_t rom_size; /** * IRQ associated with the device. If there is no IRQ, this value will * be -1. */ int irq; /** * Storage for user data. Users of the library can store arbitrary * data in this pointer. The library will not use it for any purpose. * It is the user's responsability to free this memory before destroying * the \c pci_device structure. */ intptr_t user_data; /** * Used by the VGA arbiter. Type of resource decoded by the device and * the file descriptor (/dev/vga_arbiter). */ int vgaarb_rsrc; /** * PCI domain value (full 32 bits) */ uint32_t domain; }; /** * Description of the AGP capability of the device. * * \sa pci_device_get_agp_info */ struct pci_agp_info { /** * Offset of the AGP registers in the devices configuration register * space. This is generally used so that the offset of the AGP command * register can be determined. */ unsigned config_offset; /** * \name AGP major / minor version. */ /*@{*/ uint8_t major_version; uint8_t minor_version; /*@}*/ /** * Logical OR of the supported AGP rates. For example, a value of 0x07 * means that the device can support 1x, 2x, and 4x. A value of 0x0c * means that the device can support 8x and 4x. */ uint8_t rates; unsigned int fast_writes:1; /**< Are fast-writes supported? */ unsigned int addr64:1; unsigned int htrans:1; unsigned int gart64:1; unsigned int coherent:1; unsigned int sideband:1; /**< Is side-band addressing supported? */ unsigned int isochronus:1; uint8_t async_req_size; uint8_t calibration_cycle_timing; uint8_t max_requests; }; /** * Description of a PCI-to-PCI bridge device. * * \sa pci_device_get_bridge_info */ struct pci_bridge_info { uint8_t primary_bus; uint8_t secondary_bus; uint8_t subordinate_bus; uint8_t secondary_latency_timer; uint8_t io_type; uint8_t mem_type; uint8_t prefetch_mem_type; uint16_t secondary_status; uint16_t bridge_control; uint32_t io_base; uint32_t io_limit; uint32_t mem_base; uint32_t mem_limit; uint64_t prefetch_mem_base; uint64_t prefetch_mem_limit; }; /** * Description of a PCI-to-PCMCIA bridge device. * * \sa pci_device_get_pcmcia_bridge_info */ struct pci_pcmcia_bridge_info { uint8_t primary_bus; uint8_t card_bus; uint8_t subordinate_bus; uint8_t cardbus_latency_timer; uint16_t secondary_status; uint16_t bridge_control; struct { uint32_t base; uint32_t limit; } io[2]; struct { uint32_t base; uint32_t limit; } mem[2]; }; /** * VGA Arbiter definitions, functions and related. */ /* Legacy VGA regions */ #define VGA_ARB_RSRC_NONE 0x00 #define VGA_ARB_RSRC_LEGACY_IO 0x01 #define VGA_ARB_RSRC_LEGACY_MEM 0x02 /* Non-legacy access */ #define VGA_ARB_RSRC_NORMAL_IO 0x04 #define VGA_ARB_RSRC_NORMAL_MEM 0x08 int pci_device_vgaarb_init (void); void pci_device_vgaarb_fini (void); int pci_device_vgaarb_set_target (struct pci_device *dev); /* use the targetted device */ int pci_device_vgaarb_decodes (int new_vga_rsrc); int pci_device_vgaarb_lock (void); int pci_device_vgaarb_trylock (void); int pci_device_vgaarb_unlock (void); /* return the current device count + resource decodes for the device */ int pci_device_vgaarb_get_info (struct pci_device *dev, int *vga_count, int *rsrc_decodes); /* * I/O space access. */ struct pci_io_handle; struct pci_io_handle *pci_device_open_io(struct pci_device *dev, pciaddr_t base, pciaddr_t size); struct pci_io_handle *pci_legacy_open_io(struct pci_device *dev, pciaddr_t base, pciaddr_t size); void pci_device_close_io(struct pci_device *dev, struct pci_io_handle *handle); uint32_t pci_io_read32(struct pci_io_handle *handle, uint32_t reg); uint16_t pci_io_read16(struct pci_io_handle *handle, uint32_t reg); uint8_t pci_io_read8(struct pci_io_handle *handle, uint32_t reg); void pci_io_write32(struct pci_io_handle *handle, uint32_t reg, uint32_t data); void pci_io_write16(struct pci_io_handle *handle, uint32_t reg, uint16_t data); void pci_io_write8(struct pci_io_handle *handle, uint32_t reg, uint8_t data); /* * Legacy memory access */ int pci_device_map_legacy(struct pci_device *dev, pciaddr_t base, pciaddr_t size, unsigned map_flags, void **addr); int pci_device_unmap_legacy(struct pci_device *dev, void *addr, pciaddr_t size); #endif /* PCIACCESS_H */ ))))entry(namelibnode(type directoryentry(namelibpciaccess.anode(typeregularcontents<! / 0 0 0 0 1722 ` @PPPPP1111=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8aaaaaaaaaaqq~d~d~d~d~d~d81pci_device_get_bridge_infopci_device_get_pcmcia_bridge_infopci_device_get_bridge_busespci_device_get_parent_bridgepci_slot_match_iterator_createpci_id_match_iterator_createpci_iterator_destroypci_device_nextpci_device_find_by_slotpci_system_initpci_system_init_dev_mempci_system_cleanuppci_syspci_device_read_rompci_device_is_boot_vgapci_device_has_kernel_driverpci_device_probepci_device_map_regionpci_device_map_memory_rangepci_device_map_rangepci_device_unmap_regionpci_device_unmap_memory_rangepci_device_unmap_rangepci_device_cfg_readpci_device_cfg_read_u8pci_device_cfg_read_u16pci_device_cfg_read_u32pci_device_cfg_writepci_device_cfg_write_u8pci_device_cfg_write_u16pci_device_cfg_write_u32pci_device_cfg_write_bitspci_device_enablepci_device_map_legacypci_device_unmap_legacypci_io_cleanuppci_device_open_iopci_legacy_open_iopci_device_close_iopci_io_read32pci_io_read16pci_io_read8pci_io_write32pci_io_write16pci_io_write8pci_fill_capabilities_genericpci_device_get_agp_infotreepci_get_stringspci_device_get_device_namepci_device_get_subdevice_namepci_device_get_vendor_namepci_device_get_subvendor_namepci_device_generic_unmap_rangepci_device_vgaarb_initpci_device_vgaarb_finipci_device_vgaarb_set_targetpci_device_vgaarb_decodespci_device_vgaarb_lockpci_device_vgaarb_trylockpci_device_vgaarb_unlockpci_device_vgaarb_get_infopci_system_linux_sysfs_createpci_device_linux_devmem_read_rom// 82 ` common_iterator.o/ common_interface.o/ common_capability.o/ common_device_name.o/ common_bridge.o/0 0 0 644 5768 ` ELF@@ 1q&"JNRVZGGc Gc*c 8YFa&EMEM!FQLaFOGOGN!LKKJ1JANqICIHCH1   R;;;;e;F6;'w;;f;LT\# TGQHaGHOAEqNEFqFNaC;;);f\###pJtt yiJjj k{F||}m)a*a8aF,&FQLBGqCN▢K!I1bbN"IOOAKHCE!J1EG :g;HJFa}7;iRl7  9; v3}3s3u:bB;gw3vvy;x;җ## T#$#&#(d#* GGFF1##A"7*σGGEc5`dAq"A"7*GGEc5`dAe"ѿIHwcyqׇ"G*ccocG$WEœ¢ptEaGc7˃G G7E7ƒ7'}ptEEaME7σGGu62.eBffA"fBfeY62.eBffU"fBfeM]qW7>>7&JN>-* )ͅI9'D'Ic&*e&`"dtByyaa7ǃG7GG)D`"dtByyaa"G77AeGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0n %)-16;|@EJOtTxY.^jchm&rwH|:~fFx,Xn@<3Pm}read_bridge_info.part.0.isra.0.LC0.L2.L1.L6.L22.L15.L17.L30.L23.L25.L45.L33.L34.L46.L53.L44.L32.L54.L52.L42.L38.L58.L60.L76.L66.L77.L65.L62.L67mallocpci_device_cfg_readpci_device_get_bridge_infopci_device_probepci_device_get_pcmcia_bridge_infopci_device_get_bridge_busespci_device_get_parent_bridgepci_id_match_iterator_createpci_device_nextpci_iterator_destroy(.663@R R33, 3l-z,"3,3-,  "3, 3-   08,Dh-|,-"3,3-"3,3-33,&3 ,- ' 3*,.(.3J,T`d-x"x3,3,-.symtab.strtab.shstrtab.rela.text.data.bss.srodata.cst8.comment.note.GNU-stack.riscv.attributes @@ h &,1?0HXp<@   j/0 0 0 0 644 4920 ` ELFx@@ "&Ǫ*# G\aF!`"Bdda#"`"BddaD`"Bdda"&Ǫ*# G\!`"Bdda#"`"BddaD`"Bdda g \AGc GcEAfj'#>76Afp('}VVec6fpj#'.cUcUHcUI76Afw('}V&Ec6fwj#'.cE%cE5HEE*cGGX3'zc .EccgEcN%cN5NEmgѿGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0XH "',R1j6@;z@HEJOTY^ chmrlwp|N|hnffh T.l.L4.L5.L14.L15.L20.L23.L24.L25.L26.L40.L35.L48.L37.L36.L38.L39.L34.L30.L49.L32.L31.L33.L22.L57.L52.L56.L54.L53.L55.L50pci_slot_match_iterator_createpci_sysmallocmemcpypci_id_match_iterator_createpci_iterator_destroyfreepci_device_nextpci_device_find_by_slot 3 3,!3",(,4"43f f3j j3v,~!~3,,"3,%3,,  3 3 3  3.>- D H H3Nf n v~ 3 3- 3 (. .32 23<\dhpx|-.symtab.strtab.shstrtab.rela.text.data.bss.comment.note.GNU-stack.riscv.attributes @@ &,10:Jp<0  )\common_init.o/ 0 0 0 644 2872 ` ELF8@@ g9qJ7 7 "&NRV×7 kQ͜gJD ITDk&$7 4k7 k7 kk&#<cgLjk&7 *g k7 ##cc7 >#0 pBttyiBjj!aGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0  LJB %5Sk ~.L4.L6.L7.L9.L30.L10.L11.L12pci_system_initpci_system_linux_sysfs_createpci_system_init_dev_mempci_system_cleanuppci_syspci_io_cleanuppci_device_unmap_regionfree 3 3 3",$$3, ,32,6,H-PP3Z Z3^jj3r r3~~3 3, 33 3, 33 3.symtab.strtab.shstrtab.rela.text.data.bss.sbss.comment.note.GNU-stack.riscv.attributes @@ &:,:1@70@@SPpS<  (b/19 0 0 0 644 9312 ` ELF!@@ ]q&JNVZ貊R^*.6DFgŘccdcd$K`dtByyzjBk^kaaTK&5 Λշ)cgKMշ*Mg*g&*#4Wgʗ*g*#*gg*#<oÃgKҗo#'#8I'#,9eJcҕsyуeR*#8IKݵyq"&JN&.*5DD$cmeJcw%5;@5 #,շ#8ptdBiNiEaptIdBiNiEa5 շַ&%5a Ɂɷck9EckÂEcoÂEɷco9EGc%c Ec.E.v63Bg#06 g9E#0 g9E!GFcn%.A"3x l#<`d6AF6 g9E g9Eŝc{ ǂ`a8`a9Eōŷc8F{"gGcE`a9Eōŷc8F{"gGcE`a9Eōŷc8F{"gGcE`a9Eŝc ǂ`a8`a9Eyq ŷ8FcbgGcqEpEap9EEa# ŷ8Fca"gGcqE`a`9Ea.ŷ8FcL"gGcqE`a`9Ea=ŷ9q"&JNc.{8F&L*"gGEc pBttyi!aGE&5".—pBttyi!a9E ɷcgÂcccwǂYE`c{Â`GCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0^^;6?ZD&HBLPTY]Zb&fkpu~z8L`t(*8Frh.$d^ $J*0"6`<BHNV^f&z<PdxHF.<<SJ,gv0~00,2:l:6 r'N9b*Opci_device_map_range.part.0pci_device_unmap_range.part.0.L2.L25.L6.L3.L5.L8.L26.L7.L14.L9.L11.L33.L31.L29.L28.L39.L32.L41.L47.L49.L51.L55.L57.L59.L61.L64.L69.L63.L73.L75.L80.L86.L90.L88.L98.L96.L106.L104.L115.L121.L124.L123.L128.L127.L132.L131.L138.L139.L144.L145.L156.L157.L159reallocpci_sysmemmovepci_device_read_rompci_device_is_boot_vgapci_device_has_kernel_driverpci_device_probepci_device_map_regionpci_device_map_memory_rangepci_device_map_rangepci_device_unmap_regionpci_device_unmap_memory_rangepci_device_unmap_rangepci_device_cfg_readpci_device_cfg_read_u8pci_device_cfg_read_u16pci_device_cfg_read_u32pci_device_cfg_writepci_device_cfg_write_u8pci_device_cfg_write_u16pci_device_cfg_write_u32pci_device_cfg_write_bitspci_device_enablepci_device_map_legacypci_device_unmap_legacy(,.2<`p,-   -83, , $-&9&3*9*3@, J8J3X-\-n,|-9393,,83:3$-&,(,*9*3.9.3<9<3@9@3H,P9P3T9T3\,d,f9f3j9j3z3,3,3, ,3,.,003<, >>3J,!L,!N9N3R9R3^,"v,#x,#z9z3~9~3,$$,%,%9393,&&,','9393,((,),) 9 393,*:,+<9<3@9@3R,,X,t,-v9v3z9z3,..,/9393,00,19393,234L43N,4P9P3T9T3\,4f5n5r9r3v9v3~,69393,7.symtab.strtab.shstrtab.rela.text.data.bss.comment.note.GNU-stack.riscv.attributes @@8&,10:Jp<8 8  g@!\common_io.o/ 0 0 0 644 3992 ` ELF @@ 9q"&JNRVcc *D.G$ʗLJÃ7c6cc*N"ʅRJ9$JpBttyijRBj!ayq"&JNRcc .*ΆJɢp"tdBiijEa"DͷA".ɉɷc{Â"d`AgEecic}U%eciccAe}ecicgEecick%ecicoecicsGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0  4 "%N*n/49>CRemty`,2 R"t".L4.L5.L3.L7.L27.L28.L19.L30.L42.L44.L46.L47.L49.L51pci_io_cleanuppci_device_open_iopci_sysmallocfreepci_legacy_open_iopci_device_close_iopci_io_read32pci_io_read16pci_io_read8pci_io_write32pci_io_write16pci_io_write833 D,JTX``3j,v,zz3-333,,3-,,33,**3< @@3DD3\ ``3dd3~ 33 33 3333.symtab.strtab.shstrtab.rela.text.data.bss.comment.note.GNU-stack.riscv.attributes @@`&0,0100:CJpC<   x \/39 0 0 0 644 3200 ` ELF @@ 9qF"&JNR*cW`c@a"cFac  I J) F#c q"cFa,"&cEqFa% &"eFal"&qEEi̓G2GFaG#wvw&1UW@Vg@WG@Xw@͏&U@ՏX@8CuFUAxՏXVe͏xUW&'####<鵪pBtyiBj&t!aDA"7*Ǣ`d>Acc7`d>AG>Unknown cap 0x%02x @ 0x%02x GCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0 t\ h$).Ld{<.LC0.L2.L9.L13.L5.L16.L7.L8.L30.L35pci_fill_capabilities_genericpci_device_cfg_read_u16pci_device_cfg_read_u8printfpci_device_cfg_read_u32callocpci_device_get_agp_infopci_sys 3 .< <3FNTT3Z-\\3``3pz z3 3 3,3,3,,--, , 33.symtab.strtab.shstrtab.rela.text.data.bss.rodata.str1.8.comment.note.GNU-stack.riscv.attributes @@8 &4,4128@0UIhYph<  p k/60 0 0 0 644 8856 ` ELFX@@ 9q"77&JNRVZ઄˘CD;}4eIJ=JI>dǘC;}4;43t;T4cn:>dEce:# %A;}4;43t;T4YE#pBttyiBjjk>!aE#0yG=D=iÂUqR7*7Z.N&JV^c ZDKNc DcDcD!cD1 Iaf:Wߓ ӓ 'ד 7>W۩E #  E c W W7 5'Q7 #<'#83c y 6757AFE3!YAFE3- H3!NN`dtJyy zjJkkiaAFE W W7 uIYII IW AFEWH#8#<q!7=a#4 ޱ"&*AWcBAɃ8c @GF}V&'cCc `BddEa(DcCDcHDc`BdsdaEu]q&JNR*l8i>WB*>䲉6 .#0c EWcBA*)e#c "#0@WcBA*e˜`dtByyzaaGG#ME7#yEdyqWWe >W:>pEaW˃VEyqgׇ 2>:6pEaEA"Uee*Ǣ`d>AEd`d>AGUA"*eϢ`d>A`dG>AEdG>rb/gnu/store/q94n2fkhi9zm13gis3nhc6lgyhkjy6a7-pciutils-3.8.0/share/hwdata/pci.ids.gz/gnu/store/q94n2fkhi9zm13gis3nhc6lgyhkjy6a7-pciutils-3.8.0/share/hwdata/pci.idsGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0\H).3`8=rBFHJN6R(V[`ejot.y~B2`(~r.Rd(&f PF#)/4;BIW^elt(>,>jFinsertpopulate_vendorfind_device_name.LC0.LC1.LC2.L15.L16.L1.L5.L6.L8.L4.L65.L66.L25.L30.L31.L67.L20.L22.L68.L69.L70.L71.L27.L17.L19.L75.L91.L77.L82.L79.L78.L80.L81.L76.L93.L94.L97.L124.L99.L92.L103.L125.L130.L134.L140.L142.L137.L154.L146.L155.L143treecallocgzopengzgets__ctype_b_locstrchrstrlenmemsetrealloc__isoc23_strtoulstrdupgzclosepci_get_stringspci_device_get_device_namepci_device_get_subdevice_namepci_device_get_vendor_namepci_device_get_subvendor_name7373,F,\ p, x |8|3- 838373, - ,333  393$6:63>FNV`;`3v,,,,<3,=3>3?3,*N@N3d@d3tAt3:3B3@3,----@3 A 3-33  3$9$3.,0-6A63BF-V^^3h,n !"#"$"3%-,&""3.'6(>>3H,(L,)R*XX3d,+j,rr3|,,,--+-'3-'3-+3,.,/3663>,0D,1RR3h-2n,3vv3,4,53-6.symtab.strtab.shstrtab.rela.text.data.bss.rodata.str1.8.sbss.comment.note.GNU-stack.riscv.attributes @@ &,12@F0O_p< 7  qcommon_map.o/ 0 0 0 644 1296 ` ELFP@@ Aoe}WGcA`>AGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0$,$+.L2pci_device_generic_unmap_rangemunmap__errno_location  33.symtab.strtab.shstrtab.rela.text.data.bss.comment.note.GNU-stack.riscv.attributes @,@xx&l,l10l:Jp<x  8<\common_vgaarb.o/0 0 0 644 12840 ` ELF.@@ Yq 讄2 0*c=F7cEc)FE 0Ecc }F0c0EcAFE# 0EeAFE7#"0EiAFE#$0EEAFE#&0 E=70-œ0E*9ɷF EÃGwGEǃG7GG$7EptdFiieaq747cK7,O%cY5}W# (:::F"FEE97#4Ew#pFtty apFtAty a}ULjOgYq7 *iHDG4G$&D7(7 O#&,}WcEc7 ,O%c_5 #F(7 # EptdFieaAptA5dFiea7 w }Uq c ' Dc  Gcb W7c7( *O#",%Wcc#  ,Oc] F(#p"Fttyi a}Tշ]q77s%XOGc }5Gcc7 7*O#"3@}W35c`daamA`dA5aa`dEaa}U]q77s%XOGc }5Gcc7 7*O#"3@}W35c`daamA`dA5aa`dEaa}U]q77s%XOGc }5Gcc7 7*O#"3@}W35c`daamA`dA5aa`dEaa}U᷷OŃ'E,:.=io+mem/dev/vga_arbitertarget PCI:%04x:%02x:%02x.%xnonedecodes %slock %strylock %sunlock %siomemGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0(-27< A(F@KhP`UxZ`fjBnrvzvfZpVf0& tz 4#)/5>FW_v~t+4E^parse_string_to_decodes_rsrc.LANCHOR0.LC0.LC1.LC2.LC3.LC4.LC5.LC6.LC8.LC7.LC9.LC10.LC11.L4.L5.L3.L6.L7.L54.L58.L52.L59.L71.L72.L63.L65.L62.L78.L75.L80.L77.L76.L86.L83.L87.L88.L94.L84.L99.L96.L100.L101.L107.L97.L112.L109.L113.L114.L120.L110.L122.LC12.LC13strtok_rstrncpy__isoc23_strtoulstrncmppci_device_vgaarb_initpci_sysopenreadpci_device_find_by_slot__errno_locationpci_device_vgaarb_finiclosepci_device_vgaarb_set_targetsnprintfwritepci_device_vgaarb_decodespci_device_vgaarb_lockpci_device_vgaarb_trylockpci_device_vgaarb_unlockpci_device_vgaarb_get_info3373&0803883>>3H7H3PVV3\7\3dl9l3vv3~7~38337337393373,933373,93""3(7(30,6963DD3J7J3R,TT3ZZ3^7^3f,hh3p7p3z,||33:3,,,,,-<3<3,33=3 <3>3&*<*3FF3X<X3\?\3d<d3p,@3-<3<3,B3<3, 3 3D3<3E3<3$>$3.2<23FF3N<N3f@f3<3,-<3<333 3 3D3<3E3  <3*>*36:<:3NN3f f3j j3n-!r-x<x3|<|3,",#$%33 3 3D3<3E3& 3 3 -' @ 32-#8<83<<<3D,(J,)P*\+hh3ll3t t3x x3D3<3E3, 3 3--@3-)<3<3,. ,/01((3,,3443883BDB3J<J3`E`3v2 3 3-3@3-/<3<3,456.symtab.strtab.shstrtab.rela.text.data.bss.rodata.str1.8.rela.rodata.comment.note.GNU-stack.riscv.attributes @@8 & , 12E@@-H M0Vfp<( 7 0y0.xlinux_sysfs.o/ 0 0 0 644 22664 ` ELFU@@ .geqHEH5G%'E7`EUYa9q"&JrdE5%AEu. .*be67evbec@#0$#.bp"tBty!abpBttyE!a]q&RVJNr6wg>7 . > 9*1G$&D"e e"eʅ"G#T#D&b`dtByyzjaaLEͷqNRVZ^r*27 K Ktg I*=G$&D e&ʅ&*"F·FZ҅E:#W"gDc:b`&FddiyBzz{k%a7ʅ*RAɷA"gmMcSg qNRVZ^bI*IÍIH'>"wy)3 @7'DG$H4HD3i  7 .VʅV}\*c d*҇FNEc ZEQ#ZA-ŌH'DHDH4G$7 .VʅV}Y*c%d*҇FNEc%"E`VddiyRzz{kRl5a#"A쪇McOOϔcF`aF`a쪇M#cOOϔc F`a F`a쪇M2cNOϔcFl`alF`aMcEO㓖F`EacF`EaMcEO㓖 F`Uac F`UaAe}McAOlF`2EacFl`2Ea}Uiq&"G%HEH5'E7WDcF,*%GDc "pt&dUaDmq"G%HEH5'E7  WcF*"`dQa)q&JRV"N:2#0G%HEH5'E7  WcVc cH *!ʆ"NuDc @#0ZNpRtyiRjj&t1aDDɿAٷA)q&JRV"N:2#0G%HEH5'E7  WcVc cH *!ʆ"NuDc @#0ZNpRtyiRjj&t1aDDɿAٷAg F #@J""IAF,"e#0AF,*"eAF, '7 * #4LJaI#"e :AF,"eAF,*"eAF, 7A#4#M!q"R&JNVHEH5G%'E7.}Tc *c yc FJFEJDZ3@JcT4DFEJFJJp"ZttyiZjj9aiJAѿAqG5*5'E7%35%m&35#4F #<F#8F#0!G#<1E#8AE#4QE#0aE#  >蓇 >g7>ڷJK7 >f֖bM s&Gf#ccW#Gle#H}Y HA# .   * c% j@AFE !cM-=M q"ww#ww#g#&w#g##w c3  A F nRgcq*wD7gc!㘄fe 5 #8 #4 q]G!G!#G1!G!!#G!G!F!#G!#G#G##G#G## 1K1K/sys/bus/pci/devices%s/%04x:%02x:%02x.%1u/driver%s/%04x:%02x:%02x.%1u/resource%d/sys/class/pci_bus/%04x:%02x/legacy_io/sys/class/pci_bus/%04x:%02x/legacy_mem/dev/mem%s/%04x:%02x:%02x.%1u/resource%u_wc%s/%04x:%02x:%02x.%1u/resource%u%s/%04x:%02x:%02x.%1u/boot_vga%s/%04x:%02x:%02x.%1u/enable1%s/%04x:%02x:%02x.%1u/config%s/%04x:%02x:%02x.%1u/resource%s/%04x:%02x:%02x.%1u/rom0vendor%x:%02x:%02x.%1u%s/%04x:%02x:%02x.%1u/%sdeviceclassrevisionsubsystem_vendorsubsystem_deviceGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0 >LgZz J4VJSDrT8TJ^p &Bte| ( :8`0PXx "&+20&5`:n?DIPNStX]4b*glqxvf{X6<2fDP:F:fZp h&,V2\8 >8D,JBPV\ bb h n t z   x  < L N H  T    x         "8(/8=Z_ev}= b 6%pci_system_linux_destroypci_device_linux_sysfs_unmap_legacypci_device_linux_sysfs_has_kernel_driverpci_device_linux_sysfs_open_device_iopci_device_linux_sysfs_open_legacy_iopci_device_linux_sysfs_map_legacypci_device_linux_sysfs_close_iopci_device_linux_sysfs_map_rangepci_device_linux_sysfs_write8pci_device_linux_sysfs_write16pci_device_linux_sysfs_write32pci_device_linux_sysfs_read8pci_device_linux_sysfs_read16pci_device_linux_sysfs_read32pci_device_linux_sysfs_boot_vgapci_device_linux_sysfs_enablepci_device_linux_sysfs_writepci_device_linux_sysfs_readpci_device_linux_sysfs_unmap_rangepci_device_linux_sysfs_probepci_device_linux_sysfs_read_romscan_sys_pci_filter.LANCHOR0.LC0.LC1.LC2.LC3.LC4.LC5.LC6.LC7.LC8.LC9.LC10.LC11.LC12.LC13.LC14.LC15.LC17.LC16.L8.L11.L14.L12.L15.L10.L22.L24.L25.L36.L37.L23.L34.L27.L40.L42.L43.L59.L61.L47.L60.L62.L63.L65.L67.L69.L71.L73.L78.L83.L87.L92.L96.L101.L103.L108.L104.L109.L113.L114.L115.L116.L132.L133.L120.L118.L117.L135.L136.L137.L138.L154.L155.L142.L140.L139.L172.L159.L161.L162.L186.L187.L188.L189.L179.L180.L177.L175.L191.L192.L197.L193.L229.L218.L230.L200.L219.L203.L231.L207.L208.L202.L214.L206.L232.L215.L212.LC18.LC19.LC20.LC21.LC22munmapsnprintfopenpci_device_get_parent_bridgemmapclose__errno_locationpwritepreadpwrite64pread64pci_device_generic_unmap_range__isoc23_strtoullfstatlseekpci_system_linux_sysfs_createcallocpci_sysalphasortscandirfree__isoc23_sscanfpci_fill_capabilities_generic3""3&&3**3..3883DD3333333* ,+3$-,&&30,+<<3BB3NN3\-.-/,03,1-23,233333&4,,3PP3VV3ZZ3d5hh3r-6tt3-783,93,:3333  3,;<<3F<LL3V-=^^3ff3p,=33333>3?333 -=@,A..3HH3bBh,Cxx33D,E33F,G3  3<HF,ITT3tt3J,K333 33 333L((36M<<3\-Ntt3x!x3||3!333O"3"333,P3#33#33""3.Q4R8-S:TD,SNN3V,UZVhh3-W3-W3-X,Y3#33#333Z[ -\ ],\  3(,^,_::3Z-`\\3f-`hh3r-att33b3$3  3 $ 3  3$ $ 30 c< < 3N N 3f f 3z z 3  3 ,d e  3  3  3 c -c, , 30 %0 34 4 38 %8 3D D 3T T 3^ ff f 3n gt hx "x 3~ "~ 3  3  3  3 i ,j k  3 & 3 & 3  3  3 -l  3  3 -m  3& -j6 ,n< ,oF ,pV ,q` -oj j 3p p 3  3 ,r  3  3  3  3 s  3  3  3  3$ $ 3( ( 3. . 38 8 3D tJ J 3R -u\ \ 3j vz z 3 ' 3  3 ' 3 ( 3 ) 3 ) 3  3 w ( 3  3  3  32 x6 6 3D D 3R R 3^ yv -z { -|  3 ,}  3 ~ ,}  3   3u3-u ,-}-{-u (08@HPX`hpx     '.symtab.strtab.shstrtab.rela.text.data.bss.rodata.str1.8.rela.rodata.comment.note.GNU-stack.riscv.attributes @@'H* &,12IE(@@Q M0V#fp#<`  `!CTxlinux_devmem.o/ 0 0 0 644 2744 ` ELF@@ qNRVZ^4*I77`cKd 7FE*D[cE3@΅J*cu cDJc E`"FddiyBzz{k%al:*qEKR*%MAiRY*IA/dev/memGCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0 \!>%)|-NSY_w.LC0.L2.L4.L19.L20.L5.L21.L3.L6.L8pci_device_linux_devmem_read_romopenpreadclosepci_device_cfg_read_u32pci_device_cfg_write_u32__errno_location,2>>3FF3J J3Xh h3rv~~3,3,,3,-3- 3,-3 - .symtab.strtab.shstrtab.rela.text.data.bss.rodata.str1.8.comment.note.GNU-stack.riscv.attributes @@H &N,N12P @0YIlYpl<  XHk))entry(namelibpciaccess.lanode(typeregular executablecontents,# libpciaccess.la - a libtool library file # Generated by libtool (GNU libtool) 2.4.6 # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libpciaccess.so.0' # Names of this library. library_names='libpciaccess.so.0.11.1 libpciaccess.so.0 libpciaccess.so' # The name of the static archive. old_library='libpciaccess.a' # Linker flags that cannot go in dependency_libs. inherited_linker_flags='' # Libraries that this one depends upon. dependency_libs=' -L/gnu/store/qz9xakaqgxr8992fy0z3g1kj1c9z8k74-zlib-1.3/lib -lz' # Names of additional weak libraries provided by this library weak_library_names='' # Version information for libpciaccess. current=11 age=11 revision=1 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/gnu/store/r659l4c6nd7slg40hn62vpysq2xsnzv0-libpciaccess-0.16/lib' ))entry(namelibpciaccess.sonode(typesymlinktargetlibpciaccess.so.0.11.1))entry(namelibpciaccess.so.0node(typesymlinktargetlibpciaccess.so.0.11.1))entry(namelibpciaccess.so.0.11.1node(typeregular executablecontentsxELF@s@8@pr<!!000p/p/```m}}n~~QtdRtdm}}ad[c?S;A4LX>TbZFa (RW/6Q`! &'% G2D5)U*J.$C9MK:3_"=B 0@P+E<I^O V1#N,Y-8] 7\H%+ @4"@d.>(@ A@B"PP@P 0+,013567;>?@BCDGHKMRSVY[\^_aco0rT:]:<"yAhPv4r g|DuJ;gpC1F;)ŧmY֗-\'.^W5T:nK+dYW!T538ܳ~R k*'M&PL shOK"wc>)k9K"h*eˤzwOhYځۢW!V9T[Z-Ǻ p36ds <lI-F^nIe\OT>DZB#%47"+ NlPP 9^ ?% >D @B*m h; P@(; N> H] L .J>} l;| < HA Qf A, ?. ,?BT @ VP B  AZ I$ ?| .AU H;  jB" (@( 9b f<W V> N I: B t M ?a X78 O n; |< 8z 9 N< <b! x@$ B$* "9`* D>v n? 74 7: @P B$ I6M r?.F PL C  M_ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizemallocpci_device_cfg_readpci_device_get_bridge_infopci_device_probepci_device_get_pcmcia_bridge_infopci_device_get_bridge_busespci_device_get_parent_bridgepci_id_match_iterator_createpci_device_nextpci_iterator_destroypci_slot_match_iterator_creatememcpyfreepci_device_find_by_slotpci_system_initpci_system_init_dev_mempci_system_cleanuppci_device_unmap_regionpci_device_read_rompci_device_is_boot_vgapci_device_has_kernel_driverpci_device_map_rangereallocpci_device_map_regionpci_device_map_memory_rangepci_device_unmap_rangememmovepci_device_unmap_memory_rangepci_device_cfg_read_u8pci_device_cfg_read_u16pci_device_cfg_read_u32pci_device_cfg_writepci_device_cfg_write_u8pci_device_cfg_write_u16pci_device_cfg_write_u32pci_device_cfg_write_bitspci_device_enablepci_device_map_legacypci_device_unmap_legacypci_device_open_iopci_legacy_open_iopci_device_close_iopci_io_read32pci_io_read16pci_io_read8pci_io_write32pci_io_write16pci_io_write8callocpci_device_get_agp_infogzopengzgets__ctype_b_locstrchrstrlenmemset__isoc23_strtoulstrdupgzclosepci_get_stringspci_device_get_device_namepci_device_get_subdevice_namepci_device_get_vendor_namepci_device_get_subvendor_namemunmap__errno_locationstrtok_rstrncpystrncmppci_device_vgaarb_initpci_device_vgaarb_finipci_device_vgaarb_set_targetsnprintfpci_device_vgaarb_decodespci_device_vgaarb_lockpci_device_vgaarb_trylockpci_device_vgaarb_unlockpci_device_vgaarb_get_infommappwritepreadpwrite64pread64__isoc23_strtoullfstatlseekalphasortscandir__isoc23_sscanflibz.so.1libgcc_s.so.1libc.so.6libpciaccess.so.0GLIBC_2.33GLIBC_2.38GLIBC_2.27/gnu/store/5ii9iz1p7a1lr04r0df1yvm6kisrlpiw-glibc-2.39/lib:/gnu/store/5lv7izq63fh14y329qihn17p754apwij-gcc-11.4.0-lib/lib:/gnu/store/qz9xakaqgxr8992fy0z3g1kj1c9z8k74-zlib-1.3/lib:/gnu/store/5lv7izq63fh14y329qihn17p754apwij-gcc-11.4.0-lib/lib/gcc/riscv64-unknown-linux-gnu/11.4.0/../../..}3 }3(}Hc0}c8}c@}cH}cP}cX}6Qh}@Zp}Xx}S}X}X}PW}4C}V}tV}@Q}Q}R}S}2V}U}U}^U}U}T~R~8QȁЁ؁!$ (0;8,@HMPX` h p xH  NFȀЀ؀SC`V6 U(08@HPAX` h+p"x#%R&'():*S3ACSg^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>g^>gUɗWcWGÂUeǗUƉ5@ŗWÂA"TGWgU5E‚G#`dAi1q&"JNRVZGGc Gc*c8YFa&EMEM!FQLaFOGOGN!LKKJ1JANqICIHCH1   R;;;;e;F6;'w;;f;LT\# TGQHaGHOAEqNEFqFNaC;;);f\###pJtt yiJjj k{F||}m)a_*q8aF,&FQLBGqCN▢K!I1bbN"IOOAKHCE!J1EG :g;HJFa}7;iRl7  9; v3}3s3u:bB;gw3vvy;x;җ## T#$#&#(d#* GGFF1##A"7*σGGEc5`dAe"A"7*GGEc5`dAu"IHwcyqׇ"G*ccocG$WEœ¢ptEaGc7˃G G7E7ƒ7'}ptEEaME7˃GGu62.?eBffQ"fBfey62.?eBffa"fBfeM9qW>>'u"&J>9* 遠'D'Ic&*u&_p"Btty!a?yGG)Dp"Btty!a"&W狜cêO* # ̅G\aF!߀`"Bdda#"`"BddaD`"Bdda"&W煜cêO*# ̉G\!`"Bdda#"`"BddaD`"Bdda \AGc GcEGg~cAfj'#>C3{6Af}('}VVec6f}j#'.cUcUHcUIC3Cr6Afr('}V&Ec6frj#'.cE%cE5HEE9qG*(>:.26/p!ao 9qJI ih7 "&NRV[7 kQŜgJD ITDk&$7 4ko7 ko7 kk&#<cgLjk&7 *g k7 ##cc7 >G#\pBttyiBjj!aɉɗGgYcck9EG'XcckÂEGVccoÂE ɗGGUcco9E]q&JNRVZ^#0!Ų*.6DFgňccdcf$K`dtByyzjBk^kaaKݷ4K'5 ϛշ)cgKyշ*Eg*g&*#47gʗ*g*#*gg*#<oÃgKҗo#'#8I'#,9GGAceJcҕsqуeRo*#8IK嵕Gc%c Ec.E.v63Boo6oyq"&JNE̓&*.D5D$cmeGg5cJcw %5;@5 #,շ#8ptdBiNiEaptIdBiNiEa5 շַ&/%5EptIdBiNiEaGFcl%.A"3x l#<`d6AF6o/ ŅG&cc{ ǂ`a8`a9E8F"gGcE`a8F"gGcE`a8FϞ"gGcE`a ŅGgcc ǂ`a8`a9Eyq8FobgGcqEpEa8Fa#"gGcqE`a8FL>"gGcqE`a9q"N.l6&J*pBttyi!aGE&5J.opBttyi!aɗGccgÂccGg ccwǂYE`G cc{Â`9q"&JNRVG ccc *D.G$ʗLJσ7c6cc* N"ʅR/J9$JpBttyijRBj!ayq"&JNRGGccc .*ΆJɢp"tdBiijEa"DݷA".ɑɗGcc{Â"d`Ao𯏛EecjGcc}U%ecjGcccAe}ecjGccgEecjGgcck%ecjGgccoecjGgccsqFNRVZ^b*cW`c@a"ЪcFa qc J* LVF#c ʅ"cFa΅"&_cEqFaE &څ"eFaޅ"&aEEmG2GFaG#wvw&1UW@Vg@WG@Sw@͏&U@sՏX@3HuFUAgxՏXVe͏UW&'####<͵`FdiyBzz{kBl&d%aDշA"7*Ǣ`d>AGGΜccc7`d>AG>9q"&JNRVZDd`ǘCD;}4eIJ=JI>dǘC;}4;43t;T4cj:>dEcc:# %A;}4;43t;T4iE?#pBttyiBjjk>!aEઇqG=DiÂQqV^%%Zbfjn?*c}[DL  q a΅RߦcDcDcD!cD1 Iaf:Wӓ ד 'ۓ 7>WߩENߥ#N EN?c g '5 #'#3c 6757AFE3)ߍYAFE3࿌- H3)΅RRptdNiijzJ{{ |lJmmmaAFEN  g郷 uImI] IM AFEj࿄WH#8#<f𱵗%e%*=9n?# ⹿"&*AWcBAͪɃ8c @GF}V&'cCc `BddEa(DcCDcHDc`BdsdaEӃE]q&JNR*l8i>WB*>䲉6 .#0c EWc BA?*)e#c "#0@WcBA*e˜`dtByyzaaGG#mEȃ7#mEdyqWWe >W:>pEaW ˃VEyqgׇ 2>:6_pEaEA"Uee*Ǣ`d>AEd`d>AGͷUA"*eϢ`d>A`dG>AEdͷG>Aoe}WGcA`>AYq 䮄cR*c =FJ"%aJOc"_Ec)FEOԈe]RE/ުcc }FJ "[Jc"ZEocAFE#"XEoaAFE#"VEMAFE#"TEQAFE#RQE=RER=REQE*)FP䪇 EÃGwGEǃG7GG$7EptdFiijeaq44DY`ķEI݈cC`$Oo%cQ `}W :#&?޲F"FEE9`#4Ew#pFtty apFtAty a}Uŷ7'OcLjOo͂q9)M*]HDG4G$&D &>J O#&ʅ/כ}WcEc ʅO/%c] #FJ_σ # EpFttyi aoApFtA5tyi a w9}Uq99)@7 c ' *Dc G2cG-c G0c0 0Nϼ7 O#&΅/%Wcc7 ΅OocZ5 FN#pFtyiFj&t a# mTݷq44d1`s%XOGc  G%c Gc#c$&௯`*O#"/3@}W35c`Fdd%a/A`FdA5d%a&a`FddE%a}Uٷq44%`s%XOGc  Gc GFcc&O`*O#"Ϭ3@}W35c`Fdd%aϐA`FdA5d%aa`FddE%a}Uٷq44`s%XOGc  GF c Gc& cF &`*O#"o3@}W35c`Fdd%aoA`FdA5d%afa`FddE%a}Uٷ7 cOŃ'E.o_eq"HEH5G%'E"/"௃`dEUYa9q"&JNE5%:Eert%*Fevඉ&τ&cB#04#4$#."bpBttyi!aE]qrJVZ&NR*6tg .' )o*)G$&DRe&΅&П#,"G#0Y#4i#.Jb`dtByyzjBkaa'EqNRVZ^r*27 K Ktg䵠π*5G$&D^e&ʅ&*"M·FZ҅E:#W"gDc:?b`&FddiyBzz{k%aʅП*XAA"gmMcSo_ qNRVZ^I*IÍIH'>"wy)3 @7'DG$H4HD3i —.VʅVП[*cud*҇FNEcuZ_E#Z?A9͌H'DHDH4G$.VʅVП}Y*c%d*҇FNEc%"_E`VddiyRzz{k5a#"?A쪇McMO ϔcF_`aF`a쪇M#cMO ϔc F?`a F߻`a쪇M2cLOϔcFl_`alF`aMcAOFп`EacF`EaMcAO F`Uac F?`UaAe}McMOlF_`2EacFl`2Ea}Uiq"&G%HEH5'E&"߷"?WDcF,*%GDc "pt&dUaDͷmq"G%HEH5'E &"_"ПWc FE*?"ߩ`dQa)q&JRV"N:2#0G%HEH5'E "п"WcVc cD *ʆ"NeDc @#0ZNpRtyiRjj&t1aDDٿ?AпA)q&JRV"N:2#0G%HEH5'E "ߜ"?WcVc cD *ʆ"NпeDc @#0ZN_pRtyiRjj&t1aDDٿAAo/ F #@K"" IAF҅"e#AF҅*"eAF҅/ ' + #LJaI#"e;AF҅/誉"eAF҅o*"eAF҅Я 7A#4#!q"R&JNVHEH5G%'Efrf".o"Я}Tc *߈cyc FEJ?FEJЏDZ3@Joc T4DFEJЯFEJЯJOp"ZttyiZjj9aiqJo/AЯAUG5*5'E7%35%m&35a#4J#0J#0J4Jbe4I9I9H:H:G;G;F<F>> g7ҷKL+  N $fgbwޖb"vviM ϾfWf#ccW#G&d- m#Hee  f HAY#Rֆ.&Oз&Яʅ *! c 5ЏbBAFEJO!c M-=M5 Ufgw#wJg#w#jg#w##g cw oA&Fʅngci*wD7gc!㚄*eogthЏ#8#4]aG$G$#G1$G!$#G$G$F$#G$#G&G&#G&G&# G>왿G>-qNRVZ^4*I77`cKd FEE7O*D[cM3@΅JЯ*cueDJЏc E`"FddiyBzz{k%al:o*aEKRЯ*5mA]R/]*MЏAaUnknown cap 0x%02x @ 0x%02x rb/gnu/store/q94n2fkhi9zm13gis3nhc6lgyhkjy6a7-pciutils-3.8.0/share/hwdata/pci.ids.gz/gnu/store/q94n2fkhi9zm13gis3nhc6lgyhkjy6a7-pciutils-3.8.0/share/hwdata/pci.ids,:.=io+mem/dev/vga_arbitertarget PCI:%04x:%02x:%02x.%xiomemnonedecodes %slock %strylock %sunlock %s/sys/bus/pci/devices%s/%04x:%02x:%02x.%1u/driver%s/%04x:%02x:%02x.%1u/resource%d/sys/class/pci_bus/%04x:%02x/legacy_io/sys/class/pci_bus/%04x:%02x/legacy_mem/dev/mem%s/%04x:%02x:%02x.%1u/resource%u_wc%s/%04x:%02x:%02x.%1u/resource%u%s/%04x:%02x:%02x.%1u/boot_vga%s/%04x:%02x:%02x.%1u/enable1%s/%04x:%02x:%02x.%1u/config%s/%04x:%02x:%02x.%1u/resource%s/%04x:%02x:%02x.%1u/rom0vendor%x:%02x:%02x.%1u%s/%04x:%02x:%02x.%1u/%sdeviceclassrevisionsubsystem_vendorsubsystem_device|} }o H  HX ooo:o 00000000000000000000000000000000000000000000000000000~GCC: (GNU) 11.4.0A;riscv1rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zmmul1p0.shstrtab.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.text.rodata.eh_frame.init_array.fini_array.data.rel.ro.dynamic.data.got.bss.comment.riscv.attributes o   ` HH%o::2o@AHH`KBP00pUp3p3,[``cccm}my } m(}(m~nppq0qpr<>r))entry(name pkgconfignode(type directoryentry(name pciaccess.pcnode(typeregularcontents1prefix=/gnu/store/r659l4c6nd7slg40hn62vpysq2xsnzv0-libpciaccess-0.16 exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: pciaccess Description: Library providing generic access to the PCI bus and devices. Version: 0.16 Cflags: -I${includedir} Libs: -L${libdir} -lpciaccess ))))))entry(namesharenode(type directoryentry(namedocnode(type directoryentry(namelibpciaccess-0.16node(type directoryentry(nameCOPYINGnode(typeregularcontents(C) Copyright IBM Corporation 2006, 2007 (C) Copyright Eric Anholt 2006 (C) Copyright Mark Kettenis 2011 (C) Copyright Robert Millan 2012 Copyright (c) 2007, 2008, 2009, 2011, 2012, 2013 Oracle and/or its affiliates. Copyright 2009, 2012 Red Hat, Inc. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation on the rights to use, copy, modify, merge, publish, distribute, sub license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ Copyright (c) 2008 Juan Romero Pardines Copyright (c) 2008, 2011 Mark Kettenis Copyright (c) 2009 Michael Lorenz Copyright (c) 2009, 2012 Samuel Thibault Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ Copyright (C) 2000 The XFree86 Project, Inc. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of the XFree86 Project shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the XFree86 Project. ------------------------------------------------------------------------------ Copyright (c) 2007 Paulo R. Zanoni, Tiago Vignatti Copyright (c) 2009 Tiago Vignatti Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. )))))))))