Under what circumstances can a kernel module work under CONFIG_HIGHMEM4G and !CONFIG_X86_PAE but fails to work under CONFIG_HIGHMEM64G and CONFIG_X86_PAE?
Do you describe a particular error? What happens?
The way you asked, the simplest answer is
Do you want to _write_ such a module, do you have to fix a module you need?
yes, the module is mkexec (mkdump). It works when I have CONFIG_HIGHMEM4G enabled, but it fails to boot to crash kernel when I turn on CONFIG_HIGHMEM64G and CONFIG_X86_PAE options.
I am not sure whether the problem is on the module part or on the mini kernel part.
Do I have to configure mini kernel with PAE support to boot properly?
Or Do I have to turn on PAE in the reboot code of mkexec module? The module clears CR4 register, that means PAE is turned off.