blob: ad5e7e044b586f78ffac61b799c655dda87326c4 (
plain) (
tree)
|
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>references</title>
<style>
html {
font-family: Source Code Pro, monospace, sans-serif;
font-size: clamp(12px, 2vw, 16px);
}
button {
font-family: inherit;
font-size: inherit;
}
li:hover {
background-color: lightgray;
}
</style>
<script>
/// Map HTML elements to display kinds.
const elementToDisplay = (E) => {
switch (E.nodeName) {
case "LI":
return "list-item";
default:
return "block";
}
}
/// Display only elements which have all TAGS.
const showTag = (TAGS) => {
Array.from(document.getElementsByClassName("content")).forEach(E => {
// Display the element, iff the element contains every tag T in TAGS.
if (TAGS.every(T => Array.from(E.classList).includes(T))) {
E.style.display = elementToDisplay(E);
} else {
E.style.display = "none";
}
});
};
/// Initialize buttons and callbacks.
window.onload = () => {
// Handle to the filter placeholder.
const filter_node = document.getElementById("filter");
// Active filter tags.
const filter = Array();
// Create buttons for each tag T.
["arm", "x86", "riscv", "sysv", "clear"].forEach(T => {
const btn = document.createElement("button");
btn.innerHTML = T;
btn.onclick = T === "clear"
? (E) => {
// Clear active filter.
while (filter.length) { filter.pop(); }
showTag(["content"]);
filter_node.innerHTML = "filter:";
}
: (E) => {
// Toggle tag T in Active filter.
if ((idx = filter.indexOf(T)) > -1) {
filter.splice(idx, 1);
} else {
filter.push(T);
}
showTag(filter);
out = filter.map(T => `<mark>${T}</mark>`).join(" + ");
filter_node.innerHTML = `filter: ${out}`;
};
filter_node.insertAdjacentElement("beforebegin", btn);
});
}
</script>
</head>
<body>
<p>Self-hosted collection of frequently referenced documents and specifications. This page provides links to the original sources.</p>
<p id = "filter">filter:</p>
<ul>
<li class="content sysv">
<a style="color:black;" href="/pub/abi/sysv/sysv-gabi4-2013">abi/sysv/sysv-gabi4-2013</a>
[<a href="https://www.sco.com/developers/gabi/latest/contents.html">original</a>]
</li>
<li class="content sysv">
<a style="color:black;" href="/pub/abi/sysv/sysv-gabi41.pdf">abi/sysv/sysv-gabi41.pdf</a>
[<a href="https://www.sco.com/developers/devspecs/gabi41.pdf">original</a>]
</li>
<li class="content sysv x86">
<a style="color:black;" href="/pub/abi/sysv-psabi-x86-64.pdf">abi/sysv-psabi-x86-64.pdf</a>
[<a href="https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/artifacts/master/raw/x86-64-ABI/abi.pdf?job=build">original</a>]
</li>
<li class="content sysv arm">
<a style="color:black;" href="/pub/abi/sysv/sysv-psabi-arm64.pdf">abi/sysv/sysv-psabi-arm64.pdf</a>
[<a href="https://github.com/ARM-software/abi-aa/releases/download/2023Q3/aaelf64.pdf">original</a>]
</li>
<li class="content sysv arm">
<a style="color:black;" href="/pub/abi/arm/aapcs64.pdf">abi/arm/aapcs64.pdf</a>
[<a href="https://github.com/ARM-software/abi-aa/releases/download/2023Q3/aapcs64.pdf">original</a>]
</li>
<li class="content syss riscv">
<a style="color:black;" href="/pub/abi/sysv/sysv-psabi-riscv.pdf">abi/sysv/sysv-psabi-riscv.pdf</a>
[<a href="https://github.com/riscv-non-isa/riscv-elf-psabi-doc/releases/latest">original</a>]
</li>
<li class="content x86">
<a style="color:black;" href="/pub/arch/intel/intel64-optimization-ref-vol1.pdf">arch/intel/intel64-optimization-ref-vol1.pdf</a>
[<a href="https://cdrdv2.intel.com/v1/dl/getContent/671488">original</a>]
</li>
<li class="content x86">
<a style="color:black;" href="/pub/arch/intel/intel64-optimization-ref-vol2.pdf">arch/intel/intel64-optimization-ref-vol2.pdf</a>
[<a href="https://cdrdv2.intel.com/v1/dl/getContent/787036">original</a>]
</li>
<li class="content x86">
<a style="color:black;" href="/pub/arch/intel/intel64-vol1-architecture-manual.pdf">arch/intel/intel64-vol1-architecture-manual.pdf</a>
[<a href="https://cdrdv2.intel.com/v1/dl/getContent/671436">original</a>]
</li>
<li class="content x86">
<a style="color:black;" href="/pub/arch/intel/intel64-vol2-instruction-ref.pdf">arch/intel/intel64-vol2-instruction-ref.pdf</a>
[<a href="https://cdrdv2.intel.com/v1/dl/getContent/671110">original</a>]
</li>
<li class="content x86">
<a style="color:black;" href="/pub/arch/intel/intel64-vol3-system-programming.pdf">arch/intel/intel64-vol3-system-programming.pdf</a>
[<a href="https://cdrdv2.intel.com/v1/dl/getContent/671447">original</a>]
</li>
<li class="content riscv">
<a style="color:black;" href="/pub/arch/riscv/rv-1-unprivileged-isa.pdf">arch/riscv/rv-1-unprivileged-isa.pdf</a>
[<a href="https://github.com/riscv/riscv-isa-manual/releases/tag/Ratified-IMAFDQC">original</a>]
</li>
<li class="content riscv">
<a style="color:black;" href="/pub/arch/riscv/rv-2-privileged-architecture.pdf">arch/riscv/rv-2-privileged-architecture.pdf</a>
[<a href="https://github.com/riscv/riscv-isa-manual/releases/tag/Priv-v1.12">original</a>]
</li>
</ul>
</body>
</html>
|