Skip to content

Commit 3dfa896

Browse files
committed
Add sample code illustration API usage via the MEMCPY AFU
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
1 parent 2a7ad14 commit 3dfa896

5 files changed

Lines changed: 560 additions & 4 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
.*.swp
44
obj/*
55
testobj/*
6+
sampleobj/*
67
docs
78
cppcheck.xml
89
kernel/include/misc/ocxl.h

Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ SONAMEOPT = -Wl,-soname,$(LIBSONAME)
1212

1313
DOCDIR = docs
1414

15-
all: check_ocxl_header obj/$(LIBSONAME) obj/libocxl.so obj/libocxl.a
15+
all: check_ocxl_header obj/$(LIBSONAME) obj/libocxl.so obj/libocxl.a sampleobj/memcpy
1616

1717
HAS_WGET = $(shell /bin/which wget > /dev/null 2>&1 && echo y || echo n)
1818
HAS_CURL = $(shell /bin/which curl > /dev/null 2>&1 && echo y || echo n)
@@ -48,9 +48,15 @@ obj/$(LIBNAME): $(OBJS) symver.map
4848
obj/libocxl.a: $(OBJS)
4949
$(call Q,AR, $(AR) rcs obj/libocxl.a $(OBJS), obj/libocxl.a)
5050

51+
sampleobj/memcpy: sampleobj/memcpy.o-memcpy
52+
$(call Q,CC, $(CC) $(CFLAGS) $(LDFLAGS) -o sampleobj/memcpy sampleobj/memcpy.o-memcpy obj/libocxl.a, sampleobj/memcpy)
53+
5154
testobj:
5255
mkdir testobj
5356

57+
sampleobj:
58+
mkdir sampleobj
59+
5460
testobj/libocxl.a: $(TEST_OBJS)
5561
$(call Q,AR, $(AR) rcs testobj/libocxl-temp.a $(TEST_OBJS), testobj/libocxl-temp.a)
5662
$(call Q,STATIC_SYMS, $(NM) testobj/libocxl-temp.a | grep ' t ' | grep -v __ | cut -d ' ' -f 3 > testobj/static-syms)
@@ -75,7 +81,7 @@ cppcheck-xml:
7581
cppcheck --enable=all -j 4 -q src/*.c src/include/libocxl.h --xml-version=2 2>cppcheck.xml
7682

7783
precommit: clean all docs cppcheck
78-
astyle --style=linux --indent=tab=8 --max-code-length=120 src/*.c src/*.h src/include/*.h
84+
astyle --style=linux --indent=tab=8 --max-code-length=120 src/*.c src/*.h src/include/*.h samples/*/*.c
7985
$(call Q, SYMVER-CHECK, nm obj/$(LIBNAME) | grep ' t ocxl' && (echo "Symbols are missing from symver.map" && exit 1) || true)
8086

8187
docs:

Makefile.rules

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ obj/%.o : src/%.c src/include/libocxl.h src/libocxl_internal.h | obj
2525
testobj/%.o : src/%.c src/include/libocxl.h src/libocxl_internal.h | testobj
2626
$(call Q,CC, $(CC) $(CPPFLAGS) $(TESTCFLAGS) -c -o $@ $<, $@)
2727

28-
testobj/%.o-test : unittests/%.c testobj/libocxl.a
28+
testobj/%.o-test : unittests/%.c testobj/libocxl.a | testobj
29+
$(call Q,CC, $(CC) $(CPPFLAGS) $(TESTCFLAGS) -c -o $@ $<, $@)
30+
31+
sampleobj/%.o-memcpy : samples/memcpy/%.c obj/libocxl.a | sampleobj
2932
$(call Q,CC, $(CC) $(CPPFLAGS) $(TESTCFLAGS) -c -o $@ $<, $@)
3033

3134
datadir ?= $(PREFIX)/share

Makefile.vars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ LD = $(CROSS_COMPILE)ld
1414
CC = $(CROSS_COMPILE)gcc
1515
NM = $(CROSS_COMPILE)nm
1616
OBJCOPY = $(CROSS_COMPILE)objcopy
17-
CFLAGS ?= -g -Wall -Wextra -O2 -m64 -std=gnu99
17+
CFLAGS ?= -g -Wall -Wextra -O2 -m64 -std=gnu11
1818
TESTCFLAGS += $(CFLAGS) -O0 -DTEST_ENVIRONMENT=1 -I src -I testobj -pthread

0 commit comments

Comments
 (0)