svn commit: r224187 - in head: sys/amd64/amd64 sys/arm/arm
sys/arm/sa11x0 sys/i386/i386 sys/ia64/ia64 sys/kern
sys/mips/mips sys/powerpc/aim sys/powerpc/booke
sys/sparc64/sparc64 sys/sys usr.bin/vm...
Marcel Moolenaar
marcel at xcllnt.net
Tue Jul 19 00:20:42 UTC 2011
On Jul 18, 2011, at 8:19 AM, Attilio Rao wrote:
> Author: attilio
> Date: Mon Jul 18 15:19:40 2011
> New Revision: 224187
> URL: http://svn.freebsd.org/changeset/base/224187
>
> Log:
> - Remove the eintrcnt/eintrnames usage and introduce the concept of
> sintrcnt/sintrnames which are symbols containing the size of the 2
> tables.
> - For amd64/i386 remove the storage of intr* stuff from assembly files.
> This area can be widely improved by applying the same to other
> architectures and likely finding an unified approach among them and
> move the whole code to be MI. More work in this area is expected to
> happen fairly soon.
>
> No MFC is previewed for this patch.
You just broke ia64 and possibly other 64-bit architectures:
".word" declares a 16-bit integral on ia64 and the size symbols
are of type size_t (=64 bit). We'll be having misaligned loads
(= kernel panics) and/or reading garbage...
Use "data8" on ia64, as per the assembly language reference.
eris% cat x.s
.data
foo:
.word 0x11223344
foo1:
.byte 0x99
eris% as x.s -o x.o
x.s: Assembler messages:
x.s:3: Warning: value 0x11223344 truncated to 0x3344
eris% nm x.o
0000000000000000 d foo
0000000000000002 d foo1
FYI,
--
Marcel Moolenaar
marcel at xcllnt.net
More information about the svn-src-head
mailing list