On Sat, Jan 02, 2016 at 11:40:51PM +0100, Arnd Bergmann wrote:
On Saturday 02 January 2016 11:59:29 Sudip Mukherjee wrote:
Just to be sure we are talking about the same thing: you mean running a 64-bit kernel in a kvm guest with a 32-bit file system, right? Running a 32-bit kvm guest on a 64-bit host would not be interesting of course.
The kvm (actually qemu, started from virt-manager with -enable-kvm) that I just configured shows the following:
Architecture: i686 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 1 On-line CPU(s) list: 0 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 6 Stepping: 3 CPU MHz: 2993.200 BogoMIPS: 5986.40 Virtualization: VT-x Hypervisor vendor: KVM Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 4096K
uname -i shows: i686
Will it be ok to test in this one?
If 'uname -i' reports i686, that usually means you have configured the kernel for 32-bit. Try rebuilding the kernel with 'CONFIG_64BIT' and 'CONFIG_IA32_EMULATION' enabled to test that the 32-bit user space now also works under a 64-bit kernel.
done... tested with CONFIG_64BIT and CONFIG_IA32_EMULATION. The original ppdev code failed with my userspace test code. After applying patch 1/2 of v3 it still failed, but after applying 2/2 of v3 it worked. will you take v3 through your y2038 tree? or I can keep them for, ummmmm, 4.6 merge window.
That reminds me, we should now remove the code from fs/compat_ioctl.c that was handling emulating the other ioctl commands, the new .compat_ioctl callback in ppdev takes care of that along with the PPGETTIME/PPSETTIME calls, see below
Bamvor, care to send a patch for these also...