diff options
| author | Jack Sangdahl <[email protected]> | 2024-03-04 23:49:10 -0700 | 
|---|---|---|
| committer | Jack Sangdahl <[email protected]> | 2024-03-04 23:49:10 -0700 | 
| commit | f5f609da5afe438ba520d7e40ce88fa848be6dbb (patch) | |
| tree | bdf3f68f2be03bdcba648c7e64f0edb24a683185 | |
| parent | 61f3d15c57e906d78833da9194f83a56ee553631 (diff) | |
| download | site-f5f609da5afe438ba520d7e40ce88fa848be6dbb.tar.gz site-f5f609da5afe438ba520d7e40ce88fa848be6dbb.zip | |
acpi stuff
| -rw-r--r-- | contact.html | 12 | ||||
| -rw-r--r-- | extra.html | 1 | ||||
| -rw-r--r-- | gentoo.html | 1 | ||||
| -rw-r--r-- | index.html | 5 | ||||
| -rw-r--r-- | kernel.html | 84 | 
5 files changed, 99 insertions, 4 deletions
| diff --git a/contact.html b/contact.html new file mode 100644 index 0000000..8bbc327 --- /dev/null +++ b/contact.html @@ -0,0 +1,12 @@ +<html lang="en"> +  <head> +    <title>Contact</title> +    <link rel="stylesheet" href="style.css"> +  </head> +  <body> +    <a href="index.html"><--</a> +    <h2>Contact</h2> +    Email: <a href="mailto:[email protected]">[email protected]</a><br> +    Github: <a href="https://github.com/waffle87" target="_blank">waffle87</a> +  </body> +</html> @@ -20,6 +20,7 @@      </style>    </head>    <body> +    <a href="index.html"><--</a>      <h2>Some bits & bobs</h2>      Here lives some miscellaneous things I reference one or one hundred      times and figure they should be gathered somewhere. diff --git a/gentoo.html b/gentoo.html index bc07584..d3adf88 100644 --- a/gentoo.html +++ b/gentoo.html @@ -21,6 +21,7 @@      </style>    </head>    <body> +    <a href="index.html"><--</a>      <h2>Gentoo Linux on Macbook Air</h2>      This page covers various features, nuances, notes, etc. of my      Gentoo system running on a 2012 Macbook Air. This laptop was @@ -8,9 +8,6 @@      <a href="gentoo.html">Gentoo</a><br>      <a href="kernel.html">Kernel Configuration</a><br>      <a href="extra.html">Extra Extra</a><br> -    <!-- -    <a href="lfs.html">lfs on macbook air</a><br> -    <a href="keyboard_qmk.html">keyboards, firmware, and similar</a><br> -    --> +    <a href="contact.html">Contact</a><br>    </body>  </html> diff --git a/kernel.html b/kernel.html index 98534c4..b4ee408 100644 --- a/kernel.html +++ b/kernel.html @@ -14,6 +14,7 @@      </style>    </head>    <body> +    <a href="index.html"><--</a>      <h2>Kernel Configuration Pseudo Guide</h2>      <h4>Current base: <a href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/?h=linux-6.7.y">Linux 6.7.y</a></h4>      This aims to be a guide for configuring a Linux kernel for a modern @@ -39,8 +40,23 @@        <li>OLD: modern systems generally won't need these options</li>        <li>SEC: security related options that either implicate or strengthen system security</li>      </ul> +    <a href="#top_level">top level options</a><br>      <a href="#general_setup">general setup</a><br>      <a href="#processor_type_feat">processor type and features</a><br> +    <a href="#mitigations_vulnerability">mitigations for speculative execution vulnerabilities</a><br> +    <a href="#power_management">power management and acpi options</a><br> +    <div id="top_level"> +      <h3>Top Level Options</h3> +      <ul> +        <li>64-bit kernel (<code>CONFIG_64BIT</code>): Y, STD</li> +        <li>Mitigations for speculative execution vulnerabilities (<code>CONFIG_SPECULATION_MITIGATIONS</code>): Y, STD</li> +        <li>Virtualization (<code>CONFIG_VIRTUALIZATION</code>): N, VIRT, unless needed</li> +        <li>Enable loadable module support (<code>CONFIG_MODULES</code>): N, everything built into kernel</li> +        <li>Enable the block layer (<code>CONFIG_BLOCK</code>): Y, STD, need to mount disks</li> +        <li>Networking support (<code>CONFIG_NET</code>): Y, unless no need for network</li> +        <li>Cryptographic API (<code>CONFIG_CRYPTO</code>): Y, SEC</li> +      </ul> +    </div>      <div id="general_setup">        <h3>General setup</h3>        <ul> @@ -238,6 +254,74 @@          <li>Enforce strict size checking for sigalstack (<code>CONFIG_STRICT_SIGALSTACK_SIZE</code>): N, DEV</li>        </ul>      </div> +    <div id="mitigations_vulnerability"> +      <h3>Mitigations for speculative execution vulnerabilities</h3> +      <ul> +        <li>Remove the kernel mapping in user mode (<code>CONFIG_PAGE_TABLE_ISOLATION</code>): Y</li> +        <li>Avoid speculative indirect branches in kernel (<code>CONFIG_RETPOLINE</code>): Y</li> +        <li>Enable return-thunks (<code>CONFIG_RETHUNK</code>): Y</li> +        <li>Enable UNRET on kernel entry (<code>CONFIG_CPU_UNRET_ENTRY</code>): Y</li> +        <li>Mitigate RSB underflow with call depth tracking (<code>CONFIG_CALL_DEPTH_TRACKING</code>): Y</li> +        <li>Enable call thunks and call depth tracking debugging (<code>CONFIG_CALL_RETHUNKS_DEBUG</code>): N, DEV</li> +        <li>Enable IBPB on kernel entry (<code>CONFIG_CPU_IBPB_ENTRY</code>): Y</li> +        <li>Enable IBRS on kernel entry (<code>CONFIG_CPU_IBRS_ENTRY</code>): Y</li> +        <li>Mitigate speculative RAS overflow (<code>CONFIG_CPU_SRSO</code>): Y, on AMD processors</li> +        <li>Mitigate Straight-Line-Speculation (<code>CONFIG_SLS</code>): N</li> +        <li>Force GDS Mitigation (<code>CONFIG_GDS_FORCE_MITIGATION</code>): N</li> +      </ul> +    </div> +    <div id="power_management"> +      <h3>Power management and ACPI options</h3> +      <ul> +        <li>Suspend to RAM and standby (<code>CONFIG_SUSPEND</code>): Y, N for servers</li> +        <li>Skip kernel's sys_sync() on suspend to RAM/standby (<code>CONFIG_SUSPEND_SKIP_SYNC</code>): N</li> +        <li>Hibernation (aka 'suspend to disk') (<code>CONFIG_HIBERNATION</code>): Y, if desired. N for servers</li> +        <li>Opportunistic sleep (<code>CONFIG_PM_SLEEP</code>): N, EMB</li> +        <li>Userspace opportunistic sleep (<code>CONFIG_PM_USERSPACE_AUTOSLEEP</code>): N, EMB</li> +        <li>User space wakeup sources interface (<code>CONFIG_PM_WAKELOCKS</code>): N, EMB</li> +        <li>Device power management core functionality (<code>CONFIG_PM</code>): Y, STD</li> +        <li>Power Management Debug Support (<code>CONFIG_PM_DEBUG</code>): N, DEV</li> +        <li>Enable workqueue power-efficient mode by default (<code>CONFIG_WQ_POWER_EFFICIENT_DEFAULT</code>): N</li> +        <li>Energy Model for devices with DVFS (<code>CONFIG_ENERGY_MODEL</code>): N</li> +        <li> +          ACPI Support (<code>CONFIG_ACPI</code>): Y, STD +          <ul> +            <li></li> +          </ul> +        </li> +        <li>Power Management Timer Support (<code>CONFIG_X86_PM_TIMER</code>): Y, STD</li> +        <li> +          CPU Frequency scaling +          <ul> +            <li>CPU frequency transition statistics (<code>CONFIG_CPU_FREQ_STAT</code>): N, DEV</li> +            <li>Default CPUFreq governor: performance</li> +            <li>'performance' governor (<code>CONFIG_CPU_FREQ_GOV_PERFORMANCE</code>): Y</li> +            <li>'powersave' governor (<code>CONFIG_CPU_FREQ_GOV_POWERSAVE</code>): N, not strictly necessary</li> +            <li>'userspace' governor for userspace frequency scaling (<code>CONFIG_CPU_FREQ_GOV_USERSPACE</code>): N, not strictly necessary</li> +            <li>'ondemand' cpufreq policy governor (<code>CONFIG_CPU_FREQ_GOV_ONDEMAND</code>): N</li> +            <li>'conservative' cpufreq governor (<code>CONFIG_CPU_FREQ_GOV_CONSERVATIVE</code>): N</li> +            <li>'schedutil' cpufreq policy governor (<code>CONFIG_CPU_FREQ_GOV_SCHEDUTIL</code>): Y</li> +            <li>Intel P state control (<code>CONFIG_X86_INTEL_PSTATE</code>): Y, on Intel processors</li> +            <li>Processor Clocking Control interface driver (<code>CONFIG_X86_PCC_CPUFREQ</code>): N, OLD</li> +            <li>AMD Processor P-State driver (<code>CONFIG_X86_AMD_PSTATE</code>): Y, on AMD processors</li> +            <li>selftest for AMD Processor P-State driver (<code>CONFIG_X86_AMD_PSTATE_UT</code>): N, DEV</li> +            <li>ACPI Processor P-States driver (<code>CONFIG_X86_ACPI_CPUFREQ</code>): Y, STD</li> +            <li>Intel Enhanced SpeedStep (<code>CONFIG_X86_SPEEDSTEP_CENTRINO</code>): N, OLD</li> +            <li>Intel Pentium 4 clock modulation (<code>CONFIG_X86_P4_CLOCKMOD</code>): N, OLD</li> +          </ul> +        </li> +        <li> +          CPU Idle +          <ul> +            <li>CPU idle PM support (<code>CONFIG_CPU_IDLE</code>): Y, STD</li> +            <li>Ladder governor (for periodic timer tick) (<code>CPU_IDLE_GOV_LADDER</code>): N</li> +            <li>Menu governor (for tickless system) (<code>CPU_IDLE_GOV_MENU</code>): Y</li> +            <li>Timer events oriented governor (<code>CONFIG_CPU_IDLE_GOV_TEO</code>): N</li> +          </ul> +        </li> +        <li>Cpuidle Driver for Intel Processors (<code>CONFIG_INTEL_IDLE</code>): Y, on Intel processors </li> +      </ul> +    </div>      This is a WIP...    </body>  </html> | 
