diff options
author | cindi <none@none> | 2006-02-11 15:36:52 -0800 |
---|---|---|
committer | cindi <none@none> | 2006-02-11 15:36:52 -0800 |
commit | 7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fe (patch) | |
tree | 6d2238a19328181f6effdcd9f45c17b71b905c87 /usr/src/uts/common/os/modctl.c | |
parent | 25145214af3b4b0be324f9115e4aee99f1e31edf (diff) | |
download | illumos-joyent-7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fe.tar.gz |
PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
PSARC 2006/028 eversholt language enhancements
6181364 Eversholt needs method to revise value of a fault's property
6183842 eft can construct extra propagations in the instance tree
6187143 eversholt needs to use fmd_case_add_serd() to add counted ereports against open case
6232253 wildcarding may not pick up matches buried in config path
6284455 eversholt wildcarding and vertical expansion have trouble working together
6298484 properties are not auto-converting to integers in eversholt constraints
6298972 eversholt should be able to mark faults as no-message like the cpumem DE
6298974 nested SERD engines don't work
6298981 eft memory usage could improve by caching common constraint expressions
6323319 call() is not allowing string-valued returns
6323322 a global variable should be allowed as the RHS of an nvpair
6323393 eversholt caches a little too much info when caching constraints
6323554 eversholt type conversion can cause core dump
6328144 libexacct leaks like a really big sieve when faced with non-exacct input
6331093 payloadprop should be able to read and interpret hc scheme fmris
6332245 payloadprop() returns cached value from existing FME when not appropriate
6333617 eversholt should have way to check if a global is defined
6346926 eversholt needs a way to maintain diagnosis statistics
6359264 Provide FMA support for AMD64 processors
6363503 Can not register error handler callbacks for root node
6366821 cpu scheme serial number should be a string
6367031 eft.so leaks memory
6370284 cpumem-diagnosis checks the asru version against FM_EREPORT_VERSION instead of FM_CPU_SCHEME_VERSION
6377319 eft could close cases for resources already in the faulty state
6379498 fmd dies on assertion failure when repairing an fmd module
6381022 fmd_case_insert_event() should reject duplicates and save memory
--HG--
rename : usr/src/cmd/fm/schemes/cpu/Makefile.targ => deleted_files/usr/src/cmd/fm/schemes/cpu/Makefile.targ
rename : usr/src/cmd/fm/schemes/mem/Makefile.targ => deleted_files/usr/src/cmd/fm/schemes/mem/Makefile.targ
rename : usr/src/cmd/fm/topo/Makefile => deleted_files/usr/src/cmd/fm/topo.1/Makefile
rename : usr/src/cmd/fm/topo/Makefile.rootdirs => deleted_files/usr/src/cmd/fm/topo.1/Makefile.rootdirs
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T1000/Makefile => deleted_files/usr/src/cmd/fm/topo/files.1/sparc/SUNW,Sun-Fire-T1000/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T1000/platform.topo => deleted_files/usr/src/cmd/fm/topo/files.1/sparc/SUNW,Sun-Fire-T1000/platform.topo
rename : usr/src/cmd/fm/topo/files/Makefile => deleted_files/usr/src/cmd/fm/topo/files/Makefile
rename : usr/src/cmd/fm/topo/files/Makefile.com => deleted_files/usr/src/cmd/fm/topo/files/Makefile.com
rename : usr/src/cmd/fm/topo/files/Makefile.link => deleted_files/usr/src/cmd/fm/topo/files/Makefile.link
rename : usr/src/cmd/fm/topo/files/i386/Makefile => deleted_files/usr/src/cmd/fm/topo/files/i386/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,A70/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,A70/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,A70/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,A70/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-210/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-210/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-210/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-210/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-240/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-240/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-440/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-440/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-CP3010/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-T12/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-T12/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-T12/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-T12/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-T4/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Netra-T4/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Serverblade1/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Serverblade1/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Serverblade1/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Serverblade1/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-100/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-100/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-100/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-100/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-1000/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-1000/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-1000/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-1000/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-1500/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-1500/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-1500/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-1500/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-2000/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-2000/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-2500/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-2500/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-2500/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Blade-2500/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-15000/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-15000/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-15000/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-15000/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-280R/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-280R/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-480R/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-480R/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-480R/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-480R/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-880/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-880/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-880/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-880/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T200/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T200/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T200/pcidev.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T200/pcidev.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T200/pciexdev.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T200/pciexdev.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T200/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-T200/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V210/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V210/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V215/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V215/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V240/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V240/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V240/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V240/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V245/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V245/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V245/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V245/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V250/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V250/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V440/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V440/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V440/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V440/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V445/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V445/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V445/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V445/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V490/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V490/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V890/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire-V890/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Sun-Fire/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-250/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-250/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-250/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-250/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-30/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-30/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-30/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-30/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-4/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-4/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-4/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-4/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-5_10/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-5_10/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-5_10/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-5_10/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-60/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-60/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-60/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-60/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-80/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-80/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-80/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,Ultra-80/platform.topo
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,UltraAX-i2/Makefile => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,UltraAX-i2/Makefile
rename : usr/src/cmd/fm/topo/files/sparc/SUNW,UltraAX-i2/platform.topo => deleted_files/usr/src/cmd/fm/topo/files/sparc/SUNW,UltraAX-i2/platform.topo
rename : usr/src/cmd/fm/topo/plugins/Makefile => deleted_files/usr/src/cmd/fm/topo/plugins/Makefile
rename : usr/src/cmd/fm/topo/plugins/Makefile.plugin => deleted_files/usr/src/cmd/fm/topo/plugins/Makefile.plugin
rename : usr/src/cmd/fm/topo/plugins/Makefile.topoonly => deleted_files/usr/src/cmd/fm/topo/plugins/Makefile.topoonly
rename : usr/src/cmd/fm/topo/plugins/common/Makefile => deleted_files/usr/src/cmd/fm/topo/plugins/common/Makefile
rename : usr/src/cmd/fm/topo/plugins/common/pcibus/Makefile => deleted_files/usr/src/cmd/fm/topo/plugins/common/pcibus/Makefile
rename : usr/src/cmd/fm/topo/plugins/common/pcibus/enumpci.h => deleted_files/usr/src/cmd/fm/topo/plugins/common/pcibus/enumpci.h
rename : usr/src/cmd/fm/topo/plugins/common/pcibus/pcibus.c => deleted_files/usr/src/cmd/fm/topo/plugins/common/pcibus/pcibus.c
rename : usr/src/cmd/fm/topo/plugins/common/pcibus/pcibus.topo => deleted_files/usr/src/cmd/fm/topo/plugins/common/pcibus/pcibus.topo
rename : usr/src/cmd/fm/topo/plugins/common/pciexbus/Makefile => deleted_files/usr/src/cmd/fm/topo/plugins/common/pciexbus/Makefile
rename : usr/src/cmd/fm/topo/plugins/common/pciexbus/pciexbus.topo => deleted_files/usr/src/cmd/fm/topo/plugins/common/pciexbus/pciexbus.topo
rename : usr/src/cmd/fm/topo/plugins/common/pciexrc/Makefile => deleted_files/usr/src/cmd/fm/topo/plugins/common/pciexrc/Makefile
rename : usr/src/cmd/fm/topo/plugins/common/pciexrc/pciexrc.topo => deleted_files/usr/src/cmd/fm/topo/plugins/common/pciexrc/pciexrc.topo
rename : usr/src/cmd/fm/topo/plugins/common/cpu/Makefile => deleted_files/usr/src/cmd/fm/topo/plugins/sparc/cpu/Makefile
rename : usr/src/cmd/fm/topo/plugins/common/cpu/cpu.c => deleted_files/usr/src/cmd/fm/topo/plugins/sparc/cpu/cpu.c
rename : usr/src/cmd/fm/topo/plugins/common/cpu/cpu.topo => deleted_files/usr/src/cmd/fm/topo/plugins/sparc/cpu/cpu.topo
rename : usr/src/lib/fm/libtopo/Makefile => deleted_files/usr/src/lib/fm/libtopo/Makefile
rename : usr/src/lib/fm/libtopo/Makefile.com => deleted_files/usr/src/lib/fm/libtopo/Makefile.com
rename : usr/src/lib/fm/libtopo/amd64/Makefile => deleted_files/usr/src/lib/fm/libtopo/amd64/Makefile
rename : usr/src/lib/fm/libtopo/common/libtopo.h => deleted_files/usr/src/lib/fm/libtopo/common/libtopo.h
rename : usr/src/lib/fm/libtopo/common/libtopo_enum.h => deleted_files/usr/src/lib/fm/libtopo/common/libtopo_enum.h
rename : usr/src/lib/fm/libtopo/common/llib-ltopo => deleted_files/usr/src/lib/fm/libtopo/common/llib-ltopo
rename : usr/src/lib/fm/libtopo/common/topo.c => deleted_files/usr/src/lib/fm/libtopo/common/topo.c
rename : usr/src/lib/fm/libtopo/common/topo_enum.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_enum.c
rename : usr/src/lib/fm/libtopo/common/topo_enum.h => deleted_files/usr/src/lib/fm/libtopo/common/topo_enum.h
rename : usr/src/lib/fm/libtopo/common/topo_hash.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_hash.c
rename : usr/src/lib/fm/libtopo/common/topo_hcfmri.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_hcfmri.c
rename : usr/src/lib/fm/libtopo/common/topo_hcpath.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_hcpath.c
rename : usr/src/lib/fm/libtopo/common/topo_impl.h => deleted_files/usr/src/lib/fm/libtopo/common/topo_impl.h
rename : usr/src/lib/fm/libtopo/common/topo_mem.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_mem.c
rename : usr/src/lib/fm/libtopo/common/topo_out.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_out.c
rename : usr/src/lib/fm/libtopo/common/topo_parse.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_parse.c
rename : usr/src/lib/fm/libtopo/common/topo_paths.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_paths.c
rename : usr/src/lib/fm/libtopo/common/topo_pkg.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_pkg.c
rename : usr/src/lib/fm/libtopo/common/topo_prop.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_prop.c
rename : usr/src/lib/fm/libtopo/common/topo_traverse.c => deleted_files/usr/src/lib/fm/libtopo/common/topo_traverse.c
rename : usr/src/lib/fm/libtopo/i386/Makefile => deleted_files/usr/src/lib/fm/libtopo/i386/Makefile
rename : usr/src/lib/fm/libtopo/sparc/Makefile => deleted_files/usr/src/lib/fm/libtopo/sparc/Makefile
rename : usr/src/lib/fm/libtopo/sparcv9/Makefile => deleted_files/usr/src/lib/fm/libtopo/sparcv9/Makefile
rename : usr/src/lib/fm/libtopo/spec/Makefile => deleted_files/usr/src/lib/fm/libtopo/spec/Makefile
rename : usr/src/lib/fm/libtopo/spec/Makefile.targ => deleted_files/usr/src/lib/fm/libtopo/spec/Makefile.targ
rename : usr/src/lib/fm/libtopo/spec/amd64/Makefile => deleted_files/usr/src/lib/fm/libtopo/spec/amd64/Makefile
rename : usr/src/lib/fm/libtopo/spec/i386/Makefile => deleted_files/usr/src/lib/fm/libtopo/spec/i386/Makefile
rename : usr/src/lib/fm/libtopo/spec/sparc/Makefile => deleted_files/usr/src/lib/fm/libtopo/spec/sparc/Makefile
rename : usr/src/lib/fm/libtopo/spec/sparcv9/Makefile => deleted_files/usr/src/lib/fm/libtopo/spec/sparcv9/Makefile
rename : usr/src/lib/fm/libtopo/spec/topo.spec => deleted_files/usr/src/lib/fm/libtopo/spec/topo.spec
rename : usr/src/lib/fm/libtopo/spec/versions => deleted_files/usr/src/lib/fm/libtopo/spec/versions
rename : usr/src/cmd/fm/topo/prtopo/Makefile => usr/src/cmd/fm/fmtopo/Makefile
rename : usr/src/cmd/fm/topo/prtopo/Makefile.com => usr/src/cmd/fm/fmtopo/Makefile.com
rename : usr/src/cmd/fm/topo/prtopo/common/prtopo.c => usr/src/cmd/fm/fmtopo/common/fmtopo.c
rename : usr/src/cmd/fm/topo/prtopo/i386/Makefile => usr/src/cmd/fm/fmtopo/i386/Makefile
rename : usr/src/cmd/fm/topo/prtopo/sparc/Makefile => usr/src/cmd/fm/fmtopo/sparc/Makefile
rename : usr/src/cmd/fm/schemes/cpu/cpu_mdesc.c => usr/src/cmd/fm/schemes/cpu/sparc/cpu_mdesc.c
rename : usr/src/cmd/fm/schemes/cpu/cpu.h => usr/src/cmd/fm/schemes/cpu/sparc/cpu_mdesc.h
rename : usr/src/cmd/fm/schemes/mem/mem_disc.c => usr/src/cmd/fm/schemes/mem/sparc/mem_disc.c
rename : usr/src/uts/common/sys/fm/cpu/UltraSPARC-II.h => usr/src/uts/sparc/sys/fm/cpu/UltraSPARC-II.h
rename : usr/src/uts/common/sys/fm/cpu/UltraSPARC-III.h => usr/src/uts/sparc/sys/fm/cpu/UltraSPARC-III.h
rename : usr/src/uts/common/sys/fm/cpu/UltraSPARC-T1.h => usr/src/uts/sparc/sys/fm/cpu/UltraSPARC-T1.h
Diffstat (limited to 'usr/src/uts/common/os/modctl.c')
-rw-r--r-- | usr/src/uts/common/os/modctl.c | 97 |
1 files changed, 85 insertions, 12 deletions
diff --git a/usr/src/uts/common/os/modctl.c b/usr/src/uts/common/os/modctl.c index 73e0447ab1..e776a36310 100644 --- a/usr/src/uts/common/os/modctl.c +++ b/usr/src/uts/common/os/modctl.c @@ -19,6 +19,7 @@ * * CDDL HEADER END */ + /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. @@ -84,15 +85,14 @@ static int modinfo(modid_t, struct modinfo *); static void mod_uninstall_all(void); static int mod_getinfo(struct modctl *, struct modinfo *); -static struct modctl *allocate_modp(char *, char *); +static struct modctl *allocate_modp(const char *, const char *); static int mod_load(struct modctl *, int); static void mod_unload(struct modctl *); static int modinstall(struct modctl *); static int moduninstall(struct modctl *); -static struct modctl *mod_hold_by_name_common(struct modctl *, char *); -static struct modctl *mod_hold_by_id(modid_t); +static struct modctl *mod_hold_by_name_common(struct modctl *, const char *); static struct modctl *mod_hold_next_by_id(modid_t); static struct modctl *mod_hold_loaded_mod(struct modctl *, char *, int *); static struct modctl *mod_hold_installed_mod(char *, int, int *); @@ -1943,6 +1943,71 @@ modload(char *subdir, char *filename) } /* + * Load a module using a series of qualified names from most specific to least + * specific, e.g. for subdir "foo", p1 "bar", p2 "baz", we might try: + * + * foo/bar.baz.1.2.3 + * foo/bar.baz.1.2 + * foo/bar.baz.1 + * + * Return the module ID on success; -1 if no module was loaded. + */ +int +modload_qualified(const char *subdir, const char *p1, + const char *p2, const char *delim, uint_t suffv[], int suffc) +{ + char path[MOD_MAXPATH]; + size_t n, resid = sizeof (path); + char *p = path; + + char **dotv; + int i, rc, id; + modctl_t *mp; + + if (p2 != NULL) + n = snprintf(p, resid, "%s/%s%s%s", subdir, p1, delim, p2); + else + n = snprintf(p, resid, "%s/%s", subdir, p1); + + if (n >= resid) + return (-1); + + p += n; + resid -= n; + dotv = kmem_alloc(sizeof (char *) * (suffc + 1), KM_SLEEP); + + for (i = 0; i < suffc; i++) { + dotv[i] = p; + n = snprintf(p, resid, "%s%u", delim, suffv[i]); + + if (n >= resid) { + kmem_free(dotv, sizeof (char *) * (suffc + 1)); + return (-1); + } + + p += n; + resid -= n; + } + + dotv[suffc] = p; + + for (i = suffc; i >= 0; i--) { + dotv[i][0] = '\0'; + mp = mod_hold_installed_mod(path, 1, &rc); + + if (mp != NULL) { + kmem_free(dotv, sizeof (char *) * (suffc + 1)); + id = mp->mod_id; + mod_release_mod(mp); + return (id); + } + } + + kmem_free(dotv, sizeof (char *) * (suffc + 1)); + return (-1); +} + +/* * Load a module. */ int @@ -2440,7 +2505,7 @@ modadd(struct modctl *mp) /*ARGSUSED*/ static struct modctl * -allocate_modp(char *filename, char *modname) +allocate_modp(const char *filename, const char *modname) { struct modctl *mp; @@ -2473,12 +2538,12 @@ modgetsymname(uintptr_t value, ulong_t *offset) } /* - * Lookup a symbol in a specified module. This is a wrapper routine that - * calls kobj_lookup(). kobj_lookup() may go away but this - * wrapper will prevent callers from noticing. + * Lookup a symbol in a specified module. These are wrapper routines that + * call kobj_lookup(). kobj_lookup() may go away but these wrappers will + * prevent callers from noticing. */ uintptr_t -modlookup(char *modname, char *symname) +modlookup(const char *modname, const char *symname) { struct modctl *modp; uintptr_t val; @@ -2490,6 +2555,14 @@ modlookup(char *modname, char *symname) return (val); } +uintptr_t +modlookup_by_modctl(modctl_t *modp, const char *symname) +{ + ASSERT(modp->mod_ref > 0 || modp->mod_busy); + + return (kobj_lookup(modp->mod_mp, symname)); +} + /* * Ask the user for the name of the system file and the default path * for modules. @@ -3149,9 +3222,9 @@ mod_hold_by_modctl(struct modctl *mp, int f) } static struct modctl * -mod_hold_by_name_common(struct modctl *dep, char *filename) +mod_hold_by_name_common(struct modctl *dep, const char *filename) { - char *modname; + const char *modname; struct modctl *mp; char *curname, *newname; int found = 0; @@ -3232,12 +3305,12 @@ mod_hold_by_name_requisite(struct modctl *dep, char *filename) } struct modctl * -mod_hold_by_name(char *filename) +mod_hold_by_name(const char *filename) { return (mod_hold_by_name_common(NULL, filename)); } -static struct modctl * +struct modctl * mod_hold_by_id(modid_t modid) { struct modctl *mp; |