CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2014/03/23 22:05:11
Modified files: sys/dev/ic : mpi.c mpireg.h Log message: mpi scatter gather lists are 24 bytes long and next to each other in memory. that means you cant do 8 byte loads and stores on the sg_addr member cos it wont be 8 byte aligned half the time which makes strict alignment archs (ie, the fun ones ones) upset. annotate the sge as being 4 byte aligned. replace the sg_addr member with sg_addr_lo and sg_addr_hi. replace htole64 assignment of the sg addr with a wrapper that does the right thing with a couple of htolem32 calls. generated code shrinks again.