mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
alpha disas (Falk Hueffner)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@155 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
226c91327d
commit
a993ba85cf
3 changed files with 1987 additions and 3 deletions
12
Makefile
12
Makefile
|
@ -30,10 +30,11 @@ LDFLAGS+=-Wl,-T,s390.ld
|
|||
endif
|
||||
|
||||
ifeq ($(ARCH),alpha)
|
||||
# -msmall-data is not used because we want two-instruction relocations
|
||||
# for the constant constructions
|
||||
OP_CFLAGS=-Wall -O2 -g
|
||||
# Ensure there's only a single GP
|
||||
CFLAGS += -msmall-data -msmall-text
|
||||
# FIXME Too lazy to deal with gprelhigh/gprellow for now, inhibit them
|
||||
OP_CFLAGS=$(CFLAGS) -mno-explicit-relocs
|
||||
LDFLAGS+=-Wl,-T,alpha.ld
|
||||
endif
|
||||
|
||||
|
@ -63,7 +64,7 @@ OBJS+= libqemu.a
|
|||
|
||||
LIBOBJS+=thunk.o translate-i386.o op-i386.o exec-i386.o
|
||||
# NOTE: the disassembler code is only needed for debugging
|
||||
LIBOBJS+=disas.o ppc-dis.o i386-dis.o dis-buf.o
|
||||
LIBOBJS+=disas.o ppc-dis.o i386-dis.o alpha-dis.o dis-buf.o
|
||||
|
||||
ifeq ($(ARCH),ia64)
|
||||
OBJS += ia64-syscall.o
|
||||
|
@ -73,6 +74,11 @@ all: qemu qemu-doc.html
|
|||
|
||||
qemu: $(OBJS)
|
||||
$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
|
||||
ifeq ($(ARCH),alpha)
|
||||
# Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of
|
||||
# the address space (31 bit so sign extending doesn't matter)
|
||||
echo -ne '\001\000\000\000' | dd of=qemu bs=1 seek=48 count=4 conv=notrunc
|
||||
endif
|
||||
|
||||
depend: $(SRCS)
|
||||
$(CC) -MM $(CFLAGS) $^ 1>.depend
|
||||
|
|
1976
alpha-dis.c
Normal file
1976
alpha-dis.c
Normal file
File diff suppressed because it is too large
Load diff
2
disas.c
2
disas.c
|
@ -33,6 +33,8 @@ void disas(FILE *out, void *code, unsigned long size, enum disas_type type)
|
|||
print_insn = print_insn_i386;
|
||||
#elif defined(__powerpc__)
|
||||
print_insn = print_insn_ppc;
|
||||
#elif defined(__alpha__)
|
||||
print_insn = print_insn_alpha;
|
||||
#else
|
||||
fprintf(out, "Asm output not supported on this arch\n");
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue