diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 5de537a..933e3a2 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -11,7 +11,7 @@
       - name: GolangCI-Lint
         uses: golangci/golangci-lint-action@v3
         with:
-          version: v1.50
+          version: v1.52.2
           skip-cache: true
   run-tests:
     strategy:
@@ -20,6 +20,7 @@
         os:
           - macos-11
           - macos-12
+          - ubuntu-22.04
     runs-on: ${{matrix.os}}
     steps:
       - uses: actions/checkout@v3
diff --git a/cpu.go b/cpu.go
index 79ca822..a9b8fc5 100644
--- a/cpu.go
+++ b/cpu.go
@@ -202,6 +202,7 @@
 		int(C.eCoreL2CacheSize())
 }
 
+// ModelName returns the model name of the CPU.
 func ModelName() string {
 	return C.GoString(C.modelName())
 }
diff --git a/incompatible.go b/incompatible.go
index 0a9ddf2..d425025 100644
--- a/incompatible.go
+++ b/incompatible.go
@@ -36,3 +36,18 @@
 func ECoreCount() int {
 	panic("m1cpu: not a darwin/arm64 system")
 }
+
+// PCoreCacheSize requires darwin/arm64
+func PCoreCache() (int, int, int) {
+	panic("m1cpu: not a darwin/arm64 system")
+}
+
+// ECoreCacheSize requires darwin/arm64
+func ECoreCache() (int, int, int) {
+	panic("m1cpu: not a darwin/arm64 system")
+}
+
+// ModelName requires darwin/arm64
+func ModelName() string {
+	panic("m1cpu: not a darwin/arm64 system")
+}
diff --git a/incompatible_test.go b/incompatible_test.go
new file mode 100644
index 0000000..fe89ee5
--- /dev/null
+++ b/incompatible_test.go
@@ -0,0 +1,70 @@
+//go:build !darwin || !arm64 || !cgo
+
+package m1cpu
+
+import (
+	"testing"
+
+	"github.com/shoenig/test/must"
+)
+
+const (
+	message = "m1cpu: not a darwin/arm64 system"
+)
+
+func panics(f func()) (message string) {
+	defer func() {
+		if r := recover(); r != nil {
+			message = r.(string)
+		}
+	}()
+	f()
+	return
+}
+
+func Test_IsAppleSilicon(t *testing.T) {
+	result := IsAppleSilicon()
+	must.False(t, result)
+}
+
+func check(t *testing.T, f func()) {
+	t.Helper()
+	result := panics(f)
+	must.Eq(t, result, message)
+}
+
+func Test_PCoreHz(t *testing.T) {
+	check(t, func() { _ = PCoreHz() })
+}
+
+func Test_ECoreHz(t *testing.T) {
+	check(t, func() { _ = ECoreHz() })
+}
+
+func Test_PCoreGHz(t *testing.T) {
+	check(t, func() { _ = PCoreGHz() })
+}
+
+func Test_ECoreGHz(t *testing.T) {
+	check(t, func() { _ = ECoreGHz() })
+}
+
+func Test_PCoreCount(t *testing.T) {
+	check(t, func() { _ = PCoreCount() })
+}
+
+func Test_ECoreCount(t *testing.T) {
+	check(t, func() { _ = ECoreCount() })
+}
+
+func Test_PCoreCache(t *testing.T) {
+	check(t, func() { _, _, _ = PCoreCache() })
+}
+
+func Test_ECoreCache(t *testing.T) {
+	check(t, func() { _, _, _ = ECoreCache() })
+}
+
+func Test_ModelName(t *testing.T) {
+	check(t, func() { _ = ModelName() })
+}
