Merge pull request #66 in SEL4/sel4_libs from ~MFERNANDEZ/sel4_libs:aeeb7e68-c2e2-43c6-8d72-bd94b55363c7 to master * commit 'a7e6e0557ff787c458ed6e941ec925040bd7dbad': libsel4utils: Mark some strings as const. libsel4test: Mark some char * parameters as const. libsel4allocman: Fix missing initialised field.
diff --git a/libsel4allocman/src/cspace/two_level.c b/libsel4allocman/src/cspace/two_level.c index 0cb6d65..4667680 100644 --- a/libsel4allocman/src/cspace/two_level.c +++ b/libsel4allocman/src/cspace/two_level.c
@@ -28,7 +28,7 @@ could be a two level cspace and this would still work */ if(!cspace->second_levels[l1slot]) { assert(!"ERROR: Tried make a path to a non existant slot\n"); - return (cspacepath_t) {0, 0, 0, 0, 0, 0}; + return (cspacepath_t) {0, 0, 0, 0, 0, 0, 0}; } l1_path = _cspace_single_level_make_path(&cspace->first_level, l1slot); l2_path =_cspace_single_level_make_path(&cspace->second_levels[l1slot]->second_level, l2slot);
diff --git a/libsel4test/include/sel4test/prototype.h b/libsel4test/include/sel4test/prototype.h index 06a7726..a3438bc 100644 --- a/libsel4test/include/sel4test/prototype.h +++ b/libsel4test/include/sel4test/prototype.h
@@ -23,7 +23,7 @@ * * @name name of test suite */ -void sel4test_start_suite(char *name); +void sel4test_start_suite(const char *name); /** @@ -44,14 +44,14 @@ * Can report multiple errors. * This will fail a test case. */ -void _sel4test_report_error(char *error, char *file, int line); +void _sel4test_report_error(const char *error, const char *file, int line); /* * Mark the current test as failed. Should * only be called once per test case */ -void _sel4test_failure(char *failure, char *file, int line); +void _sel4test_failure(const char *failure, const char *file, int line); /* * End the current test case
diff --git a/libsel4test/include/sel4test/test.h b/libsel4test/include/sel4test/test.h index a7a9125..f1644f1 100644 --- a/libsel4test/include/sel4test/test.h +++ b/libsel4test/include/sel4test/test.h
@@ -76,7 +76,7 @@ } /* Fails a test case, stop running the rest of the test, but keep running other tests. */ -static inline int _test_fail(char *condition, char *file, int line) +static inline int _test_fail(const char *condition, const char *file, int line) { _sel4test_failure(condition, file, line); #ifdef CONFIG_TESTPRINTER_HALT_ON_TEST_FAILURE @@ -92,7 +92,7 @@ } /* Fails a test case, keep running the rest of the test, then keep running other tests. */ -static inline void _test_error(char *condition, char *file, int line) +static inline void _test_error(const char *condition, const char *file, int line) { _sel4test_report_error(condition, file, line); @@ -109,7 +109,7 @@ } /* Fails a test case, stop everything. */ -static inline void _test_abort(char *condition, char *file, int line) +static inline void _test_abort(const char *condition, const char *file, int line) { _sel4test_failure(condition, file, line); printf("Halting on fatal assertion...\n"); @@ -224,7 +224,7 @@ * @param run_test function that runs the tests. * */ -void sel4test_run_tests(char *name, int (*run_test)(struct testcase *t)); +void sel4test_run_tests(const char *name, int (*run_test)(struct testcase *t)); /* * Get a testcase. @@ -232,7 +232,7 @@ * @param name the name of the test to retrieve. * @return the test corresponding to name, NULL if test not found. */ -testcase_t* sel4test_get_test(char *name); +testcase_t* sel4test_get_test(const char *name); bool sel4test_get_result(void);
diff --git a/libsel4test/src/test.c b/libsel4test/src/test.c index 0f1b1ab..d5b3c5a 100644 --- a/libsel4test/src/test.c +++ b/libsel4test/src/test.c
@@ -54,7 +54,7 @@ void -sel4test_start_suite(char *name) { +sel4test_start_suite(const char *name) { #ifdef CONFIG_PRINT_XML buf_index = 0; @@ -101,7 +101,7 @@ } void -_sel4test_report_error(char *error, char *file, int line) { +_sel4test_report_error(const char *error, const char *file, int line) { #ifdef CONFIG_PRINT_XML printf("\t\t<error>%s at line %d of file %s</error>\n", error, line, file); #else @@ -112,7 +112,7 @@ void -_sel4test_failure(char *failure, char *file, int line) { +_sel4test_failure(const char *failure, const char *file, int line) { #ifdef CONFIG_PRINT_XML printf("\t\t<failure type=\"failure\">%s at line %d of file %s</failure>\n", failure, line, file); #else @@ -160,7 +160,7 @@ static USED SECTION("_test_case") struct {} dummy; testcase_t* -sel4test_get_test(char *name) +sel4test_get_test(const char *name) { for (testcase_t *t = __start__test_case; t < __stop__test_case; t++) { @@ -174,7 +174,7 @@ void -sel4test_run_tests(char *name, int (*run_test)(struct testcase *t)) { +sel4test_run_tests(const char *name, int (*run_test)(struct testcase *t)) { /* Count how many tests actually exist and allocate space for them */ int max_tests = (int)(__stop__test_case - __start__test_case);
diff --git a/libsel4utils/include/sel4utils/elf.h b/libsel4utils/include/sel4utils/elf.h index ab07af7..cd84b94 100644 --- a/libsel4utils/include/sel4utils/elf.h +++ b/libsel4utils/include/sel4utils/elf.h
@@ -53,7 +53,7 @@ */ void * sel4utils_elf_load_record_regions(vspace_t *loadee, vspace_t *loader, vka_t *loadee_vka, - vka_t *loader_vka, char *image_name, sel4utils_elf_region_t *regions, int mapanywhere); + vka_t *loader_vka, const char *image_name, sel4utils_elf_region_t *regions, int mapanywhere); /** * Wrapper for sel4utils_elf_load_record_regions. Does not record/perform reservations and @@ -69,7 +69,7 @@ */ void * sel4utils_elf_load(vspace_t *loadee, vspace_t *loader, vka_t *loadee_vka, - vka_t *loader_vka, char *image_name); + vka_t *loader_vka, const char *image_name); /** * Parses an elf file but does not actually load it. Merely reserves the regions in the vspace @@ -83,7 +83,7 @@ * @return The entry point of the elf, NULL on error */ void * -sel4utils_elf_reserve(vspace_t *loadee, char *image_name, sel4utils_elf_region_t *regions); +sel4utils_elf_reserve(vspace_t *loadee, const char *image_name, sel4utils_elf_region_t *regions); /** * Parses an elf file and returns the number of loadable regions. The result of this @@ -94,7 +94,7 @@ * @return Number of loadable regions in the elf */ int -sel4utils_elf_num_regions(char *image_name); +sel4utils_elf_num_regions(const char *image_name); /** * Looks for the __vsyscall section in an elf file and returns the value. This @@ -104,7 +104,7 @@ * * @return Address of vsyscall function or 0 if not found */ -uintptr_t sel4utils_elf_get_vsyscall(char *image_name); +uintptr_t sel4utils_elf_get_vsyscall(const char *image_name); #endif /* (defined CONFIG_LIB_SEL4_VKA && defined CONFIG_LIB_SEL4_VSPACE) */ #endif /* SEL4UTILS_ELF_H */
diff --git a/libsel4utils/include/sel4utils/process.h b/libsel4utils/include/sel4utils/process.h index ddbe650..03ab1b8 100644 --- a/libsel4utils/include/sel4utils/process.h +++ b/libsel4utils/include/sel4utils/process.h
@@ -84,7 +84,7 @@ /* should we handle elf logic at all? */ bool is_elf; /* if so what is the image name? */ - char *image_name; + const char *image_name; /* Do you want the elf image preloaded? */ bool do_elf_load; @@ -201,7 +201,7 @@ * @return 0 on success, -1 on error. */ int sel4utils_configure_process(sel4utils_process_t *process, vka_t *vka, vspace_t *vspace, - uint8_t priority, char *image_name); + uint8_t priority, const char *image_name); /** * Configure a process with more customisations (Create your own vspace, customise cspace size).
diff --git a/libsel4utils/include/sel4utils/sel4_debug.h b/libsel4utils/include/sel4utils/sel4_debug.h index 1fe1a76..6dc88fb 100644 --- a/libsel4utils/include/sel4utils/sel4_debug.h +++ b/libsel4utils/include/sel4utils/sel4_debug.h
@@ -13,8 +13,8 @@ #define sel4_error(e, str) ((e == seL4_NoError) ? (void)0 : __sel4_error(e, __FILE__, __func__, __LINE__, str)) -void __sel4_error(int, const char *, const char *, int, char *); +void __sel4_error(int, const char *, const char *, int, const char *); -extern char *sel4_errlist[]; +extern const char *sel4_errlist[]; #endif /* _SEL4_DEBUG_ */
diff --git a/libsel4utils/src/elf.c b/libsel4utils/src/elf.c index 2fe7d78..e14a9e2 100644 --- a/libsel4utils/src/elf.c +++ b/libsel4utils/src/elf.c
@@ -132,7 +132,7 @@ } int -sel4utils_elf_num_regions(char *image_name) +sel4utils_elf_num_regions(const char *image_name) { int i; unsigned long elf_size; @@ -183,7 +183,7 @@ } void * -sel4utils_elf_reserve(vspace_t *loadee, char *image_name, sel4utils_elf_region_t *regions) +sel4utils_elf_reserve(vspace_t *loadee, const char *image_name, sel4utils_elf_region_t *regions) { unsigned long elf_size; char *elf_file = cpio_get_file(_cpio_archive, image_name, &elf_size); @@ -226,7 +226,7 @@ } void * -sel4utils_elf_load_record_regions(vspace_t *loadee, vspace_t *loader, vka_t *loadee_vka, vka_t *loader_vka, char *image_name, sel4utils_elf_region_t *regions, int mapanywhere) +sel4utils_elf_load_record_regions(vspace_t *loadee, vspace_t *loader, vka_t *loadee_vka, vka_t *loader_vka, const char *image_name, sel4utils_elf_region_t *regions, int mapanywhere) { unsigned long elf_size; char *elf_file = cpio_get_file(_cpio_archive, image_name, &elf_size); @@ -288,7 +288,7 @@ return error == seL4_NoError ? (void*)(seL4_Word)entry_point : NULL; } -uintptr_t sel4utils_elf_get_vsyscall(char *image_name) +uintptr_t sel4utils_elf_get_vsyscall(const char *image_name) { unsigned long elf_size; char *elf_file = cpio_get_file(_cpio_archive, image_name, &elf_size); @@ -307,7 +307,7 @@ } void * -sel4utils_elf_load(vspace_t *loadee, vspace_t *loader, vka_t *loadee_vka, vka_t *loader_vka, char *image_name) +sel4utils_elf_load(vspace_t *loadee, vspace_t *loader, vka_t *loadee_vka, vka_t *loader_vka, const char *image_name) { return sel4utils_elf_load_record_regions(loadee, loader, loadee_vka, loader_vka, image_name, NULL, 0); }
diff --git a/libsel4utils/src/process.c b/libsel4utils/src/process.c index fe3b992..ed2fb3a 100644 --- a/libsel4utils/src/process.c +++ b/libsel4utils/src/process.c
@@ -358,7 +358,7 @@ int sel4utils_configure_process(sel4utils_process_t *process, vka_t *vka, - vspace_t *vspace, uint8_t priority, char *image_name) + vspace_t *vspace, uint8_t priority, const char *image_name) { sel4utils_process_config_t config = { .is_elf = true,
diff --git a/libsel4utils/src/sel4_debug.c b/libsel4utils/src/sel4_debug.c index e0ad761..8f64b50 100644 --- a/libsel4utils/src/sel4_debug.c +++ b/libsel4utils/src/sel4_debug.c
@@ -12,7 +12,7 @@ #include <stdlib.h> /* For abort() */ #include <sel4utils/sel4_debug.h> -char *sel4_errlist[] = { +const char *sel4_errlist[] = { "seL4_NoError", "seL4_InvalidArgument", "seL4_InvalidCapability", @@ -29,7 +29,7 @@ void __sel4_error(int sel4_error, const char *file, - const char *function, int line, char * str) + const char *function, int line, const char * str) { fprintf(stderr, "seL4 Error: %s, function %s, file %s, line %d: %s\n", sel4_errlist[sel4_error],