diff --git a/user/diagdummy/.gitignore b/user/diagdummy/.gitignore new file mode 100644 index 0000000..a3dd283 --- /dev/null +++ b/user/diagdummy/.gitignore @@ -0,0 +1,2 @@ +*.o +diagdummy diff --git a/user/diagdummy/Makefile b/user/diagdummy/Makefile new file mode 100644 index 0000000..c7e69f8 --- /dev/null +++ b/user/diagdummy/Makefile @@ -0,0 +1,24 @@ +include $(ROOT)/mk/grabsrc.mk +include ../Makefile.inc + +.PHONY: all clean + +TARGET := diagdummy + +LDFLAGS += -L$(ROOT)/ulib -l:libulib.a + +SRCFILES := $(call GRABSRC, .) +CFILES := $(call GET_CFILES, $(SRCFILES)) +OBJ := $(call GET_OBJ, $(SRCFILES)) + +%.o: %.c + $(CC) $(CFLAGS) -c $< -o $@ + +all: $(TARGET) + +$(TARGET): $(OBJ) + $(LD) $^ $(LDFLAGS) -o $@ + echo $$(realpath $(TARGET)) >> $(FILES) + +clean: + rm -f $(OBJ) $(TARGET) diff --git a/user/diagdummy/block.c b/user/diagdummy/block.c new file mode 100644 index 0000000..6a31b32 --- /dev/null +++ b/user/diagdummy/block.c @@ -0,0 +1,7 @@ +#include + +void diagdummy_block(void) { + uprintf("blocking...\n"); + while(1) { + } +} diff --git a/user/diagdummy/block.h b/user/diagdummy/block.h new file mode 100644 index 0000000..cee21ca --- /dev/null +++ b/user/diagdummy/block.h @@ -0,0 +1,6 @@ +#ifndef DIAGDUMMY_BLOCK_H_ +#define DIAGDUMMY_BLOCK_H_ + +void diagdummy_block(void); + +#endif // DIAGDUMMY_BLOCK_H_ diff --git a/user/diagdummy/diagdummy.c b/user/diagdummy/diagdummy.c new file mode 100644 index 0000000..815a1f1 --- /dev/null +++ b/user/diagdummy/diagdummy.c @@ -0,0 +1,17 @@ +#include +#include "block.h" + +void main(void) { + if (argslen() == 0) { + uprintf("diagdummy: no arguments\n"); + quit(); + } + + char *cmd = args()[0]; + + if (string_strcmp(cmd, "block") == 0) { + diagdummy_block(); + } else { + uprintf("diagdummy: unknown cmd %s\n", cmd); + } +}