|
| | K_THREAD_STACK_DEFINE (child_stack,(512+CONFIG_TEST_EXTRA_STACK_SIZE)) |
| |
| | K_MEM_PARTITION_DEFINE (ro_part, ro_buf, sizeof(ro_buf), K_MEM_PARTITION_P_RO_U_RO) |
| |
| | K_MEM_PARTITION_DEFINE (overlap_part, ro_buf, sizeof(ro_buf), K_MEM_PARTITION_P_RW_U_RW) |
| |
| static void | zzz_entry (void *p1, void *p2, void *p3) |
| |
| static | K_THREAD_DEFINE (zzz_thread, 256+CONFIG_TEST_EXTRA_STACK_SIZE, zzz_entry, NULL, NULL, NULL, 0, 0, 0) |
| |
| void | test_mem_domain_setup (void) |
| |
| static void | spawn_child_thread (k_thread_entry_t entry, struct k_mem_domain *domain, bool should_fault) |
| |
| static void | rw_part_access (void *p1, void *p2, void *p3) |
| |
| static void | ro_part_access (void *p1, void *p2, void *p3) |
| |
| static void | ro_write_entry (void *p1, void *p2, void *p3) |
| |
| void | test_mem_domain_valid_access (void) |
| | Check if the mem_domain is configured and accessible for userspace.
|
| |
| void | test_mem_domain_invalid_access (void) |
| | Show that a user thread can't touch partitions not in its domain.
|
| |
| void | test_mem_domain_no_writes_to_ro (void) |
| | Show that a read-only partition can't be written to.
|
| |
| void | test_mem_domain_remove_add_partition (void) |
| | Show that adding/removing partitions works.
|
| |
| | K_MEM_PARTITION_DEFINE (no_access_part, no_access_buf, sizeof(no_access_buf), K_MEM_PARTITION_P_RW_U_RW) |
| |
| static void | mem_domain_init_entry (void *p1, void *p2, void *p3) |
| |
| static void | mem_domain_add_partition_entry (void *p1, void *p2, void *p3) |
| |
| static void | mem_domain_remove_partition_entry (void *p1, void *p2, void *p3) |
| |
| static void | mem_domain_add_thread_entry (void *p1, void *p2, void *p3) |
| |
| void | test_mem_domain_api_supervisor_only (void) |
| | Test access memory domain APIs allowed to supervisor threads only.
|
| |
| void | test_mem_domain_boot_threads (void) |
| | Show that boot threads belong to the default memory domain.
|
| |
| static | K_SEM_DEFINE (spin_sem, 0, 1) |
| |
| static void | spin_entry (void *p1, void *p2, void *p3) |
| |
| void | test_mem_domain_migration (void) |
| |
| void | test_mem_part_overlap (void) |
| | Test system assert when new partition overlaps the existing partition.
|
| |
| | K_MEM_PARTITION_DEFINE (exceed_part, exceed_buf, sizeof(exceed_buf), K_MEM_PARTITION_P_RW_U_RW) |
| |
| void | test_mem_part_assert_add_overmax (void) |
| | Test system assert when adding memory partitions more than possible.
|
| |
| void | test_mem_domain_remove_part_fail (void) |
| |
| void | test_mem_domain_init_fail (void) |
| | Test error case of initializing memory domain fail.
|
| |
| void | test_mem_part_add_error_null (void) |
| | Test error case of adding null memory partition fail.
|
| |
| | K_MEM_PARTITION_DEFINE (nonsize_part, nosize_buf, sizeof(nosize_buf), K_MEM_PARTITION_P_RO_U_RO) |
| |
| void | test_mem_part_add_error_zerosize (void) |
| | Test error case of adding zero sized memory partition fail.
|
| |
| void | test_mem_part_error_wraparound (void) |
| | Test error case of memory partition address wraparound.
|
| |
| void | test_mem_part_remove_error_zerosize (void) |
| | Test error case of removing memory partition fail.
|
| |
| void * | mem_domain_setup (void) |
| |
| | ZTEST_SUITE (mem_protect_domain, NULL, mem_domain_setup, NULL, NULL, NULL) |
| |