Bernhard Walle <bwalle at suse.de> writes: > * ebiederm at xmission.com (Eric W. Biederman) [2008-05-23 13:14]: >> >> What we need to do is fix /sbin/kexec to pass in the correct >> architecture of the kernel for unload as it does for load. > > How should it know that it unloads a 32 bit kernel on a 64 bit system? > It doesn't have access to the kernel any more once it has been loaded. The architecture parameter is the architecture of the running kernel that implements sys_kexec_load. Because it is a pain for testing and in general impossible we don't change cpu modes during a kexec. So a 32bit caller of sys_kexec_load will need to passing in different code if it is running on a 32bit or a 64bit kernel. The trampoline code in /sbin/kexec does change modes on x86 when appropriate. Caring if you know the architecture in the unload case is a bit silly. As there is no real justification for it. At this point getting user space fixed so that it works on older kernels seems important. Eric