e2c5557ce1
Added a cache modelling plugin that uses a static configuration used in many of the commercial microprocessors and uses random eviction policy. The purpose of the plugin is to identify the most cache-thrashing instructions for both instruction cache and data cache. Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623125458.450462-2-ma.mandourr@gmail.com> Message-Id: <20210709143005.1554-37-alex.bennee@linaro.org>
46 lines
1.0 KiB
Makefile
46 lines
1.0 KiB
Makefile
# -*- Mode: makefile -*-
|
|
#
|
|
# This Makefile example is fairly independent from the main makefile
|
|
# so users can take and adapt it for their build. We only really
|
|
# include config-host.mak so we don't have to repeat probing for
|
|
# cflags that the main configure has already done for us.
|
|
#
|
|
|
|
BUILD_DIR := $(CURDIR)/../..
|
|
|
|
include $(BUILD_DIR)/config-host.mak
|
|
|
|
VPATH += $(SRC_PATH)/contrib/plugins
|
|
|
|
NAMES :=
|
|
NAMES += execlog
|
|
NAMES += hotblocks
|
|
NAMES += hotpages
|
|
NAMES += howvec
|
|
NAMES += lockstep
|
|
NAMES += hwprofile
|
|
NAMES += cache
|
|
|
|
SONAMES := $(addsuffix .so,$(addprefix lib,$(NAMES)))
|
|
|
|
# The main QEMU uses Glib extensively so it's perfectly fine to use it
|
|
# in plugins (which many example do).
|
|
CFLAGS = $(GLIB_CFLAGS)
|
|
CFLAGS += -fPIC -Wall $(filter -W%, $(QEMU_CFLAGS))
|
|
CFLAGS += $(if $(findstring no-psabi,$(QEMU_CFLAGS)),-Wpsabi)
|
|
CFLAGS += -I$(SRC_PATH)/include/qemu
|
|
|
|
all: $(SONAMES)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
lib%.so: %.o
|
|
$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS)
|
|
|
|
clean:
|
|
rm -f *.o *.so *.d
|
|
rm -Rf .libs
|
|
|
|
.PHONY: all clean
|