raw-cpuid 6.1.0

A library to parse the x86 CPUID instruction, written in rust with no external dependencies. The implementation closely resembles the Intel CPUID manual description. The library does only depend on libcore.
Documentation
Build #698193 2022-12-11T06:44:38.762143+00:00
# rustc version
rustc 1.68.0-nightly (c6fcdb690 2022-12-10)# docs.rs version
docsrs 0.6.0 (013508c6 2022-12-08)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/raw-cpuid-6.1.0/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/raw-cpuid-6.1.0/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "3221225472" "--cpus" "3" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:bb5b0feb4f87116a4ea905b7ff5bf5b85913db05e9f0fbc1abdd3168928d9075" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "-Z" "unstable-options" "--config" "build.rustdocflags=[\"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20221210-1.68.0-nightly-c6fcdb690\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--disable-per-crate-search\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-j3" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }`
[INFO] [stdout] 7c73d0bbfc73e791e73756bc8fbda1398c3d9eaa6b6ed05458e07208a229da99
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7c73d0bbfc73e791e73756bc8fbda1398c3d9eaa6b6ed05458e07208a229da99", kill_on_drop: false }`
[INFO] [stderr]  Documenting raw-cpuid v6.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unresolved link to `23:16`
[INFO] [stderr]     --> src/lib.rs:108:9
[INFO] [stderr]      |
[INFO] [stderr] 108  |           #[$doc]
[INFO] [stderr]      |           ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1781 | /     check_flag!(
[INFO] [stderr] 1782 | |         doc = "Max APIC IDs reserved field is Valid. A value of 0 for HTT indicates \
[INFO] [stderr] 1783 | |                there is only a single logical processor in the package and software \
[INFO] [stderr] 1784 | |                should assume only a single APIC ID is reserved.  A value of 1 for HTT \
[INFO] [stderr] ...    |
[INFO] [stderr] 1790 | |         FeatureInfoFlags::HTT
[INFO] [stderr] 1791 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = note: the link appears in this line:
[INFO] [stderr]              
[INFO] [stderr]              Max APIC IDs reserved field is Valid. A value of 0 for HTT indicates there is only a single logical processor in the package and software should assume only a single APIC ID is reserved.  A value of 1 for HTT indicates the value in CPUID.1.EBX[23:16] (the Maximum number of addressable IDs for logical processors in this package) is valid for the package.
[INFO] [stderr]                                                                                                                                                                                                                                                                  ^^^^^
[INFO] [stderr]      = note: no item named `23:16` in scope
[INFO] [stderr]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr]      = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stderr]      = note: this warning originates in the macro `check_flag` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `38`
[INFO] [stderr]     --> src/lib.rs:108:9
[INFO] [stderr]      |
[INFO] [stderr] 108  |           #[$doc]
[INFO] [stderr]      |           ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2173 | /     check_flag!(
[INFO] [stderr] 2174 | |         doc = "Intel Turbo Boost Technology Available (see description of \
[INFO] [stderr] 2175 | |                IA32_MISC_ENABLE[38]).",
[INFO] [stderr] 2176 | |         has_turbo_boost,
[INFO] [stderr] 2177 | |         eax,
[INFO] [stderr] 2178 | |         ThermalPowerFeaturesEax::TURBO_BOOST
[INFO] [stderr] 2179 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = note: the link appears in this line:
[INFO] [stderr]              
[INFO] [stderr]              Intel Turbo Boost Technology Available (see description of IA32_MISC_ENABLE[38]).
[INFO] [stderr]                                                                                          ^^
[INFO] [stderr]      = note: no item named `38` in scope
[INFO] [stderr]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr]      = note: this warning originates in the macro `check_flag` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `31:0`
[INFO] [stderr]     --> src/lib.rs:2743:24
[INFO] [stderr]      |
[INFO] [stderr] 2743 |     /// Value of bits [31:0] of IA32_PLATFORM_DCA_CAP MSR (address 1F8H)
[INFO] [stderr]      |                        ^^^^ no item named `31:0` in scope
[INFO] [stderr]      |
[INFO] [stderr]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `127:0`
[INFO] [stderr]     --> src/lib.rs:3500:51
[INFO] [stderr]      |
[INFO] [stderr] 3500 |     /// Reports the valid bits of SECS.ATTRIBUTES[127:0] that software can set with ECREATE.
[INFO] [stderr]      |                                                   ^^^^^ no item named `127:0` in scope
[INFO] [stderr]      |
[INFO] [stderr]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `12`
[INFO] [stderr]     --> src/lib.rs:123:9
[INFO] [stderr]      |
[INFO] [stderr] 123  |           #[$doc]
[INFO] [stderr]      |           ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3617 | /     check_bit_fn!(
[INFO] [stderr] 3618 | |         doc = "Indicates support of PTWRITE. Writes can set IA32_RTIT_CTL[12] (PTWEn \
[INFO] [stderr] 3619 | |                and IA32_RTIT_CTL[5] (FUPonPTW), and PTWRITE can generate packets",
[INFO] [stderr] 3620 | |         has_ptwrite,
[INFO] [stderr] 3621 | |         ebx,
[INFO] [stderr] 3622 | |         4
[INFO] [stderr] 3623 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = note: the link appears in this line:
[INFO] [stderr]              
[INFO] [stderr]              Indicates support of PTWRITE. Writes can set IA32_RTIT_CTL[12] (PTWEn and IA32_RTIT_CTL[5] (FUPonPTW), and PTWRITE can generate packets
[INFO] [stderr]                                                                         ^^
[INFO] [stderr]      = note: no item named `12` in scope
[INFO] [stderr]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr]      = note: this warning originates in the macro `check_bit_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `5`
[INFO] [stderr]     --> src/lib.rs:123:9
[INFO] [stderr]      |
[INFO] [stderr] 123  |           #[$doc]
[INFO] [stderr]      |           ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3617 | /     check_bit_fn!(
[INFO] [stderr] 3618 | |         doc = "Indicates support of PTWRITE. Writes can set IA32_RTIT_CTL[12] (PTWEn \
[INFO] [stderr] 3619 | |                and IA32_RTIT_CTL[5] (FUPonPTW), and PTWRITE can generate packets",
[INFO] [stderr] 3620 | |         has_ptwrite,
[INFO] [stderr] 3621 | |         ebx,
[INFO] [stderr] 3622 | |         4
[INFO] [stderr] 3623 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = note: the link appears in this line:
[INFO] [stderr]              
[INFO] [stderr]              Indicates support of PTWRITE. Writes can set IA32_RTIT_CTL[12] (PTWEn and IA32_RTIT_CTL[5] (FUPonPTW), and PTWRITE can generate packets
[INFO] [stderr]                                                                                                      ^
[INFO] [stderr]      = note: no item named `5` in scope
[INFO] [stderr]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr]      = note: this warning originates in the macro `check_bit_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `4`
[INFO] [stderr]     --> src/lib.rs:123:9
[INFO] [stderr]      |
[INFO] [stderr] 123  |           #[$doc]
[INFO] [stderr]      |           ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 3625 | /     check_bit_fn!(
[INFO] [stderr] 3626 | |         doc = "Support of Power Event Trace. Writes can set IA32_RTIT_CTL[4] (PwrEvtEn) \
[INFO] [stderr] 3627 | |                enabling Power Event Trace packet generation.",
[INFO] [stderr] 3628 | |         has_power_event_trace,
[INFO] [stderr] 3629 | |         ebx,
[INFO] [stderr] 3630 | |         5
[INFO] [stderr] 3631 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = note: the link appears in this line:
[INFO] [stderr]              
[INFO] [stderr]              Support of Power Event Trace. Writes can set IA32_RTIT_CTL[4] (PwrEvtEn) enabling Power Event Trace packet generation.
[INFO] [stderr]                                                                         ^
[INFO] [stderr]      = note: no item named `4` in scope
[INFO] [stderr]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr]      = note: this warning originates in the macro `check_bit_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `i`
[INFO] [stderr]     --> src/lib.rs:3156:41
[INFO] [stderr]      |
[INFO] [stderr] 3156 | ///   IF (CPUID.(EAX=0DH, ECX=0):VECTOR[i] = 1 ) // VECTOR is the 64-bit value of EDX:EAX
[INFO] [stderr]      |                                         ^ no item named `i` in scope
[INFO] [stderr]      |
[INFO] [stderr]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr] 
[INFO] [stderr] warning: this URL is not a hyperlink
[INFO] [stderr]     --> src/lib.rs:3983:35
[INFO] [stderr]      |
[INFO] [stderr] 3983 | /// Information about Hypervisor (https://lwn.net/Articles/301888/)
[INFO] [stderr]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://lwn.net/Articles/301888/>`
[INFO] [stderr]      |
[INFO] [stderr]      = note: bare URLs are not automatically turned into clickable links
[INFO] [stderr]      = note: `#[warn(rustdoc::bare_urls)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `raw-cpuid` (lib doc) generated 9 warnings (run `cargo fix --lib -p raw-cpuid` to apply 1 suggestion)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.73s
[INFO] running `Command { std: "docker" "inspect" "7c73d0bbfc73e791e73756bc8fbda1398c3d9eaa6b6ed05458e07208a229da99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c73d0bbfc73e791e73756bc8fbda1398c3d9eaa6b6ed05458e07208a229da99", kill_on_drop: false }`
[INFO] [stdout] 7c73d0bbfc73e791e73756bc8fbda1398c3d9eaa6b6ed05458e07208a229da99