--- zzzz-none-000/linux-3.10.107/arch/m68k/emu/natfeat.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/arch/m68k/emu/natfeat.c 2021-02-04 17:41:59.000000000 +0000 @@ -9,6 +9,7 @@ * the GNU General Public License (GPL), incorporated herein by reference. */ +#include #include #include #include @@ -18,11 +19,11 @@ #include #include -extern long nf_get_id2(const char *feature_name); +extern long nf_get_id_phys(unsigned long feature_name); asm("\n" -" .global nf_get_id2,nf_call\n" -"nf_get_id2:\n" +" .global nf_get_id_phys,nf_call\n" +"nf_get_id_phys:\n" " .short 0x7300\n" " rts\n" "nf_call:\n" @@ -31,7 +32,7 @@ "1: moveq.l #0,%d0\n" " rts\n" " .section __ex_table,\"a\"\n" -" .long nf_get_id2,1b\n" +" .long nf_get_id_phys,1b\n" " .long nf_call,1b\n" " .previous"); EXPORT_SYMBOL_GPL(nf_call); @@ -46,7 +47,7 @@ if (n >= sizeof(name_copy)) return 0; - return nf_get_id2(name_copy); + return nf_get_id_phys(virt_to_phys(name_copy)); } EXPORT_SYMBOL_GPL(nf_get_id); @@ -58,7 +59,7 @@ va_start(ap, fmt); n = vsnprintf(buf, 256, fmt, ap); - nf_call(nf_get_id("NF_STDERR"), buf); + nf_call(nf_get_id("NF_STDERR"), virt_to_phys(buf)); va_end(ap); } @@ -70,7 +71,7 @@ nf_call(id); } -void nf_init(void) +void __init nf_init(void) { unsigned long id, version; char buf[256]; @@ -83,7 +84,7 @@ id = nf_get_id("NF_NAME"); if (!id) return; - nf_call(id, buf, 256); + nf_call(id, virt_to_phys(buf), 256); buf[255] = 0; pr_info("NatFeats found (%s, %lu.%lu)\n", buf, version >> 16,