Kernel を 4.12 に上げたら nvidia-legacy-340xx-kernel-dkms の compile でコケるようになった.treewide: move set_memory_* functions away from cacheflush.hの影響でset_memory_uc()
他がasm/cacheflush.h
から<asm/set_memory.h>
に移動した影響.
以下 nvidia-legacy-340xx-kernel-dkms 向けやるきなしなしパッチ.4.12 以前では動かない.
--- a/conftest.sh
+++ b/conftest.sh
@@ -372,6 +372,7 @@ compile_test() {
#
CODE="
#include <asm/cacheflush.h>
+ #include <asm/set_memory.h>
void conftest_set_memory_uc(void) {
set_memory_uc();
}"
@@ -385,6 +386,7 @@ compile_test() {
#
CODE="
#include <asm/cacheflush.h>
+ #include <asm/set_memory.h>
void conftest_set_memory_array_uc(void) {
set_memory_array_uc();
}"
@@ -398,6 +400,7 @@ compile_test() {
#
CODE="
#include <asm/cacheflush.h>
+ #include <asm/set_memory.h>
void conftest_set_pages_uc(void) {
set_pages_uc();
}"
--- a/nv-linux.h
+++ b/nv-linux.h
@@ -194,6 +194,7 @@ RM_STATUS nvos_forward_error_to_cray(struct pci_dev *, NvU32,
#if defined(NV_SET_MEMORY_UC_PRESENT)
#undef NV_SET_PAGES_UC_PRESENT
#undef NV_CHANGE_PAGE_ATTR_PRESENT
+#include <asm/set_memory.h>
#elif defined(NV_SET_PAGES_UC_PRESENT)
#undef NV_CHANGE_PAGE_ATTR_PRESENT
#endif