Emulation of unaligned LDXC1/SDXC1 instructions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

Debian recently got access to Cavium III machines which have an FPU,
before we were using Cavium II machines with the kernel FPU emulation.

It appears some code (at least openjdk and lcms2, probably more) use the
LDXC1 and SDXC1 instructions with word aligned addresses instead of
double-word aligned addresses as required by the specification. This
causes a SIGILL. The kernel emulation is more relaxed and allow word
aligned addresses.

First of all I am surprised to get a SIGILL in that case instead of a
SIGBUS, and secondly I think the behavior with and without FPU should be
consistent. The kernel currently emulates unaligned LDC1 and SDC1
instructions even with an FPU, so I wonder if the kernel should also
emulate unaligned LDXC1 and SDXC1 instructions.

Any opinion?

Thanks,
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@xxxxxxxxxxx                 http://www.aurel32.net




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux