From 03e2b8115f4278d75e9ef522710ac1fc6a4bbbce Mon Sep 17 00:00:00 2001 From: ab1aw Date: Thu, 7 Feb 2019 14:14:15 +0000 Subject: [PATCH 01/28] Modifications to build environment files to achieve successful build in CygWin environment using 8.2018-q4-mafor ARM toolset. --- kernel/fpage.c | 12 ++++++------ kernel/interrupt.c | 28 ++++++++++++++-------------- kernel/kprobes.c | 12 ++++++------ kernel/ksym.c | 2 +- kernel/ktimer.c | 4 ++-- kernel/memory.c | 10 +++++----- kernel/thread.c | 14 +++++++------- mk/rules/symmap.mk | 3 ++- mk/toolchain.mk | 2 +- platform/kprobes-arch.c | 6 +++--- platform/stm32-common/mpu.c | 6 +++--- user/lib/l4/platform/syscalls.c | 2 +- 12 files changed, 51 insertions(+), 50 deletions(-) diff --git a/kernel/fpage.c b/kernel/fpage.c index 131eb458..cd865edc 100644 --- a/kernel/fpage.c +++ b/kernel/fpage.c @@ -25,7 +25,7 @@ DECLARE_KTABLE(fpage_t, fpage_table, CONFIG_MAX_FPAGES); } \ else { \ while (!end && fpprev->next != (fpage)) { \ - if (fpprev->next == NULL) \ + if (fpprev->next == (void*)NULL) \ end = 1; \ fpprev = fpprev->next; \ } \ @@ -74,7 +74,7 @@ static void insert_fpage_chain_to_as(as_t *as, fpage_t *first, fpage_t *last) as->first = first; } else { /* Search for chain in the middle */ - while (fp->as_next != NULL) { + while (fp->as_next != (void*)NULL) { if (FPAGE_BASE(last) < FPAGE_BASE(fp->as_next)) { last->as_next = fp->as_next; break; @@ -121,11 +121,11 @@ static fpage_t *create_fpage(memptr_t base, size_t shift, int mpid) { fpage_t *fpage = (fpage_t *) ktable_alloc(&fpage_table); - assert(fpage != NULL); + assert(fpage != (void*)NULL); - fpage->as_next = NULL; + fpage->as_next = (void*)NULL; fpage->map_next = fpage; /* That is first fpage in mapping */ - fpage->mpu_next = NULL; + fpage->mpu_next = (void*)NULL; fpage->fpage.mpid = mpid; fpage->fpage.flags = 0; fpage->fpage.rwx = MP_USER_PERM(mempool_getbyid(mpid)->flags); @@ -148,7 +148,7 @@ static void create_fpage_chain(memptr_t base, size_t size, int mpid, fpage_t **pfirst, fpage_t **plast) { int shift, sshift, bshift; - fpage_t *fpage = NULL; + fpage_t *fpage = (void*)NULL; while (size) { /* Select least of log2(base), log2(size). diff --git a/kernel/interrupt.c b/kernel/interrupt.c index 96b42a32..d6575d0c 100644 --- a/kernel/interrupt.c +++ b/kernel/interrupt.c @@ -59,7 +59,7 @@ static struct user_irq_queue user_irq_queue; static int user_irq_queue_is_empty(void) { - return (user_irq_queue.head == NULL); + return (user_irq_queue.head == (void*)NULL); } static void user_irq_queue_push(struct user_irq *uirq) @@ -87,7 +87,7 @@ static struct user_irq *user_irq_queue_pop(void) static void user_irq_queue_delete(int irq) { struct user_irq *uirq = user_irqs[irq]; - for (struct user_irq **iter = &user_irq_queue.head ; *iter != NULL ; + for (struct user_irq **iter = &user_irq_queue.head ; *iter != (void*)NULL ; iter = &(*iter)->next) { if (*iter == uirq) { *iter = uirq->next; @@ -130,7 +130,7 @@ static void user_irq_release(int irq) if (IS_VALID_IRQ_NUM(irq)) { struct user_irq *uirq = user_irqs[irq]; - if (uirq != NULL) { + if (uirq != (void*)NULL) { ktable_free(&user_irq_table, uirq); user_irqs[irq] = NULL; } @@ -139,7 +139,7 @@ static void user_irq_release(int irq) static void irq_handler_ipc(struct user_irq *uirq) { - if (uirq == NULL || uirq->thr == NULL) + if (uirq == (void*)NULL || uirq->thr == (void*)NULL) return; /* Prepare ipc for user interrupt thread */ @@ -161,9 +161,9 @@ static int irq_handler_enable(int irq) { struct user_irq *uirq = user_irqs[irq]; - assert(uirq != NULL); + assert(uirq != (void*)NULL); - if (uirq->thr == NULL) + if (uirq->thr == (void*)NULL) return -1; tcb_t *thr = uirq->thr; @@ -198,7 +198,7 @@ static tcb_t *irq_handler_sched(struct sched_slot *slot) irq_disable(); struct user_irq *uirq = user_irq_queue_pop(); - if (uirq != NULL && (thr = uirq->thr) != NULL && + if (uirq != (void*)NULL && (thr = uirq->thr) != (void*)NULL && thr->state == T_RECV_BLOCKED) { thr->state = T_RUNNABLE; sched_slot_dispatch(SSI_INTR_THREAD, thr); @@ -213,9 +213,9 @@ void __interrupt_handler(int irq) { struct user_irq *uirq = user_irq_fetch(irq); - if (uirq == NULL || - uirq->thr == NULL || - uirq->handler == NULL || + if (uirq == (void*)NULL || + uirq->thr == (void*)NULL || + uirq->handler == (void*)NULL || uirq->action != USER_IRQ_ENABLE) { return; } @@ -252,7 +252,7 @@ void user_interrupt_config(tcb_t *from) struct user_irq *uirq = user_irq_fetch(irq); - if (uirq == NULL) + if (uirq == (void*)NULL) return; /* update user irq config */ @@ -261,7 +261,7 @@ void user_interrupt_config(tcb_t *from) uirq->action = (uint16_t) action; - if (handler != NULL) + if (handler != (void*)NULL) uirq->handler = handler; if (priority > 0) @@ -270,12 +270,12 @@ void user_interrupt_config(tcb_t *from) void user_interrupt_handler_update(tcb_t *thr) { - if (thr == NULL) + if (thr == (void*)NULL) return; for (int irq = 0 ; irq < IRQn_NUM ; irq++) { struct user_irq *uirq = user_irq_fetch(irq); - if (uirq == NULL) + if (uirq == (void*)NULL) continue; if (uirq->thr == thr) { diff --git a/kernel/kprobes.c b/kernel/kprobes.c index 95083f90..23836cd3 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -22,7 +22,7 @@ INIT_HOOK(kprobe_init, INIT_LEVEL_KERNEL); struct kprobe *kplist_search(void *addr) { struct kprobe *cur = kp_list; - while (cur != NULL) { + while (cur != (void*)NULL) { if (cur->addr == addr) return cur; cur = cur->next; @@ -43,7 +43,7 @@ void kplist_del(struct kprobe *kp) kp_list = kp->next; return; } - while (cur != NULL) { + while (cur != (void*)NULL) { if (cur->next == kp) { cur->next = kp->next; break; @@ -118,7 +118,7 @@ int kretprobe_unregister(struct kretprobe *rp) void kprobe_prebreak(uint32_t *stack, uint32_t *kp_regs) { struct kprobe *kp = kp_list; - while (kp != NULL) { + while (kp != (void*)NULL) { if ((uint32_t) kp->addr == stack[REG_PC] && kp->pre_handler) kp->pre_handler(kp, stack, kp_regs); kp = kp->next; @@ -128,7 +128,7 @@ void kprobe_prebreak(uint32_t *stack, uint32_t *kp_regs) void kprobe_postbreak(uint32_t *stack, uint32_t *kp_regs) { struct kprobe *kp = kp_list; - while (kp != NULL) { + while (kp != (void*)NULL) { if ((uint32_t) kp->step_addr == stack[REG_PC] && kp->post_handler) kp->post_handler(kp, stack, kp_regs); @@ -139,7 +139,7 @@ void kprobe_postbreak(uint32_t *stack, uint32_t *kp_regs) void kprobe_breakpoint_enable(uint32_t *stack) { struct kprobe *kp = kp_list; - while (kp != NULL) { + while (kp != (void*)NULL) { if ((uint32_t) kp->step_addr == stack[REG_PC]) enable_breakpoint(kp->bkpt); kp = kp->next; @@ -149,7 +149,7 @@ void kprobe_breakpoint_enable(uint32_t *stack) void kprobe_breakpoint_disable(uint32_t *stack) { struct kprobe *kp = kp_list; - while (kp != NULL) { + while (kp != (void*)NULL) { if ((uint32_t) kp->addr == stack[REG_PC]) disable_breakpoint(kp->bkpt); kp = kp->next; diff --git a/kernel/ksym.c b/kernel/ksym.c index 6498edc2..cd84f3ea 100644 --- a/kernel/ksym.c +++ b/kernel/ksym.c @@ -64,7 +64,7 @@ int ksym_lookup(void *addr) sizeof(__ksym_tbl[0]), cmp_key); } - if (found == NULL) + if (found == (void*)NULL) return -1; return prev_index = (found - __ksym_tbl); } diff --git a/kernel/ktimer.c b/kernel/ktimer.c index de64f356..e1c5bfed 100644 --- a/kernel/ktimer.c +++ b/kernel/ktimer.c @@ -134,7 +134,7 @@ int ktimer_event_schedule(uint32_t ticks, ktimer_event_t *kte) ticks -= ktimer_time; kte->next = NULL; - if (event_queue == NULL) { + if (event_queue == (void*)NULL) { /* All other events are already handled, so simply schedule * and enable timer */ @@ -222,7 +222,7 @@ ktimer_event_t *ktimer_event_create(uint32_t ticks, kte = (ktimer_event_t *) ktable_alloc(&ktimer_event_table); /* No available slots */ - if (kte == NULL) + if (kte == (void*)NULL) goto ret; kte->next = NULL; diff --git a/kernel/memory.c b/kernel/memory.c index 526f6bc5..45ee8ace 100644 --- a/kernel/memory.c +++ b/kernel/memory.c @@ -198,7 +198,7 @@ void as_setup_mpu(as_t *as, memptr_t sp, memptr_t pc, /* Find stack fpages */ fp = as->first; i = 0; - while (i < 8 && fp != NULL && start < end) { + while (i < 8 && fp != (void*)NULL && start < end) { if (addr_in_fpage(start, fp, 0)) { if (!mpu_stack_first) mpu_stack_first = fp; @@ -219,12 +219,12 @@ void as_setup_mpu(as_t *as, memptr_t sp, memptr_t pc, * mpu_fp[2] are others */ fp = as->mpu_first; - if (fp == NULL) { + if (fp == (void*)NULL) { fpage_t *mpu_first[3] = {NULL}; fpage_t *mpu_fp[3] = {NULL}; fp = as->first; - while (fp != NULL) { + while (fp != (void*)NULL) { int priv = 2; if (addr_in_fpage(pc, fp, 0)) { @@ -233,7 +233,7 @@ void as_setup_mpu(as_t *as, memptr_t sp, memptr_t pc, priv = 1; } - if (mpu_first[priv] == NULL) { + if (mpu_first[priv] == (void*)NULL) { mpu_first[priv] = fp; mpu_fp[priv] = fp; } else { @@ -258,7 +258,7 @@ void as_setup_mpu(as_t *as, memptr_t sp, memptr_t pc, } /* Prevent link to stack pages */ - for (fp = as->mpu_first; i < 8 && fp != NULL; fp = fp->mpu_next) { + for (fp = as->mpu_first; i < 8 && fp != (void*)NULL; fp = fp->mpu_next) { for (j = 0; j < mpu_first_i; j++) { if (fp == mpu[j]) { break; diff --git a/kernel/thread.c b/kernel/thread.c index 1fea508b..52be2e15 100644 --- a/kernel/thread.c +++ b/kernel/thread.c @@ -197,7 +197,7 @@ tcb_t *thread_create(l4_thread_t globalid, utcb_t *utcb) { int id = GLOBALID_TO_TID(globalid); - assert(caller != NULL); + assert(caller != (void*)NULL); if (id < THREAD_SYS || globalid == L4_ANYTHREAD || @@ -320,7 +320,7 @@ void thread_init_ctx(void *sp, void *pc, void *regs, tcb_t *thr) thr->ctx.ctl = 0x0; } - if (regs == NULL) { + if (regs == (void*)NULL) { ((uint32_t *) sp)[REG_R0] = 0x0; ((uint32_t *) sp)[REG_R1] = 0x0; ((uint32_t *) sp)[REG_R2] = 0x0; @@ -384,7 +384,7 @@ int thread_ispriviliged(tcb_t *thread) /* Switch context */ void thread_switch(tcb_t *thr) { - assert(thr != NULL); + assert(thr != (void*)NULL); assert(thread_isrunnable(thr)); current = thr; @@ -402,19 +402,19 @@ void thread_switch(tcb_t *thr) static tcb_t *thread_select(tcb_t *parent) { tcb_t *thr = parent->t_child; - if (thr == NULL) + if (thr == (void*)NULL) return NULL; while (1) { if (thread_isrunnable(thr)) return thr; - if (thr->t_child != NULL) { + if (thr->t_child != (void*)NULL) { thr = thr->t_child; continue; } - if (thr->t_sibling != NULL) { + if (thr->t_sibling != (void*)NULL) { thr = thr->t_sibling; continue; } @@ -423,7 +423,7 @@ static tcb_t *thread_select(tcb_t *parent) if (thr->t_parent == parent) return NULL; thr = thr->t_parent; - } while (thr->t_sibling == NULL); + } while (thr->t_sibling == (void*)NULL); thr = thr->t_sibling; } diff --git a/mk/rules/symmap.mk b/mk/rules/symmap.mk index ee4c10fd..2bbe7f7a 100644 --- a/mk/rules/symmap.mk +++ b/mk/rules/symmap.mk @@ -12,7 +12,8 @@ cmd_elf_to_symmap = $(NM) $< | sort | cut -d' ' -f1,3 | \ { \ SYM = SYM "{ (void*) (0x"$$1"), "STRCOUNT" },\n"; \ STRCOUNT += length($$2) + 1;\ - STRNAME = STRNAME "\"" $$2 "\\0" "\"" "\n"; \ + MPOLIA = substr($$2, 1, length($$2)-1); \ + STRNAME = STRNAME "\"" MPOLIA "\\0" "\"" "\n"; \ COUNT++; \ } \ END { \ diff --git a/mk/toolchain.mk b/mk/toolchain.mk index 13123cd7..c2622749 100644 --- a/mk/toolchain.mk +++ b/mk/toolchain.mk @@ -22,7 +22,7 @@ MACH_TYPE = $(shell uname -m) BUILD_TIME = $(shell date +%FT%T%z) CFLAGS_WARN = \ - -Wall -Werror -Wundef -Wstrict-prototypes -Wno-trigraphs \ + -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -fno-common \ -Werror-implicit-function-declaration -Wno-format-security \ -fno-delete-null-pointer-checks -Wno-pointer-sign \ diff --git a/platform/kprobes-arch.c b/platform/kprobes-arch.c index 298f122e..b3c9e60c 100644 --- a/platform/kprobes-arch.c +++ b/platform/kprobes-arch.c @@ -28,9 +28,9 @@ int kprobe_arch_add(struct kprobe *kp) * otherwise share the existing bkpt. */ - if (found == NULL) { + if (found == (void*)NULL) { b = breakpoint_install((uint32_t) kp->addr); - if (b != NULL) { + if (b != (void*)NULL) { kp->bkpt = b; enable_breakpoint(b); } else @@ -50,7 +50,7 @@ int kprobe_arch_del(struct kprobe *kp) struct kprobe *found = kplist_search(kp->addr); /* Free bkpt when there is no kprobe at this addr */ - if (found == NULL) + if (found == (void*)NULL) breakpoint_uninstall(kp->bkpt); return 0; } diff --git a/platform/stm32-common/mpu.c b/platform/stm32-common/mpu.c index 41c69781..422a062b 100644 --- a/platform/stm32-common/mpu.c +++ b/platform/stm32-common/mpu.c @@ -65,7 +65,7 @@ int mpu_select_lru(as_t *as, uint32_t addr) int i; /* Kernel fault? */ - if (as == NULL) + if (as == (as_t *)NULL) return 1; if (addr_in_mpu(addr)) @@ -81,7 +81,7 @@ int mpu_select_lru(as_t *as, uint32_t addr) /* Get first avalible MPU index */ i = 0; - while (sfp != NULL) { + while (sfp != (fpage_t *)NULL) { ++i; sfp = sfp->mpu_next; } @@ -89,7 +89,7 @@ int mpu_select_lru(as_t *as, uint32_t addr) /* Update MPU */ mpu_setup_region(i++, fp); - while (i < 8 && fp->mpu_next != NULL) { + while (i < 8 && fp->mpu_next != (void *)NULL) { mpu_setup_region(i++, fp->mpu_next); fp = fp->mpu_next; } diff --git a/user/lib/l4/platform/syscalls.c b/user/lib/l4/platform/syscalls.c index b36517e9..bbbd1966 100644 --- a/user/lib/l4/platform/syscalls.c +++ b/user/lib/l4/platform/syscalls.c @@ -97,7 +97,7 @@ L4_MsgTag_t L4_Ipc(L4_ThreadId_t to, result.raw = __L4_MR0; - if (from != NULL) + if (from != (void*)NULL) *from = from_ret; return result; From 25d9f28aeb6c3dae1f1d1847e23f8e0b5808a195 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 18 Feb 2019 14:48:12 +0000 Subject: [PATCH 02/28] Trying to resolve the memory fault - see https://github.com/f9micro/f9-kernel/issues/7 --- kernel/kdb.c | 1 + mk/toolchain.mk | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/kernel/kdb.c b/kernel/kdb.c index 82f1b368..68567fd5 100644 --- a/kernel/kdb.c +++ b/kernel/kdb.c @@ -148,6 +148,7 @@ void debug_kdb_handler(void) void kdb_init(void) { softirq_register(KDB_SOFTIRQ, debug_kdb_handler); + dbg_puts("kdb_init() invoked.\n"); dbg_puts("Press '?' to print KDB menu\n"); } diff --git a/mk/toolchain.mk b/mk/toolchain.mk index c2622749..ab2f0282 100644 --- a/mk/toolchain.mk +++ b/mk/toolchain.mk @@ -27,9 +27,15 @@ CFLAGS_WARN = \ -Werror-implicit-function-declaration -Wno-format-security \ -fno-delete-null-pointer-checks -Wno-pointer-sign \ -fno-strict-overflow -fconserve-stack + +#CFLAGS_OPT = \ +# -O1 -fno-toplevel-reorder \ +# -fdata-sections -ffunction-sections + CFLAGS_OPT = \ - -O1 -fno-toplevel-reorder \ + -O0 -fno-toplevel-reorder \ -fdata-sections -ffunction-sections + CFLAGS_DEBUG = -g3 CFLAGS_INCLUDE = $(foreach i,$(includes),-I$(i) ) CFLAGS_INCLUDE_USER = $(foreach i,$(includes-user),-I$(i) ) From 542f618b1d7d91dfd8391aee22bc20805cd36f4c Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 18 Feb 2019 20:50:44 +0000 Subject: [PATCH 03/28] Revert the modifications for the failed attempt to build and run using the version 8-2018-q4-major ARM toolchain. Revert back to using the 4_8-2013q4-major ARM toolchain when building on Windows 10 w/ CygWin. --- kernel/fpage.c | 12 ++++++------ kernel/interrupt.c | 28 ++++++++++++++-------------- kernel/kdb.c | 1 - kernel/kprobes.c | 12 ++++++------ kernel/ksym.c | 2 +- kernel/ktimer.c | 4 ++-- kernel/memory.c | 10 +++++----- kernel/thread.c | 14 +++++++------- mk/toolchain.mk | 10 ++-------- platform/kprobes-arch.c | 6 +++--- platform/stm32-common/mpu.c | 6 +++--- user/lib/l4/platform/syscalls.c | 2 +- 12 files changed, 50 insertions(+), 57 deletions(-) diff --git a/kernel/fpage.c b/kernel/fpage.c index cd865edc..131eb458 100644 --- a/kernel/fpage.c +++ b/kernel/fpage.c @@ -25,7 +25,7 @@ DECLARE_KTABLE(fpage_t, fpage_table, CONFIG_MAX_FPAGES); } \ else { \ while (!end && fpprev->next != (fpage)) { \ - if (fpprev->next == (void*)NULL) \ + if (fpprev->next == NULL) \ end = 1; \ fpprev = fpprev->next; \ } \ @@ -74,7 +74,7 @@ static void insert_fpage_chain_to_as(as_t *as, fpage_t *first, fpage_t *last) as->first = first; } else { /* Search for chain in the middle */ - while (fp->as_next != (void*)NULL) { + while (fp->as_next != NULL) { if (FPAGE_BASE(last) < FPAGE_BASE(fp->as_next)) { last->as_next = fp->as_next; break; @@ -121,11 +121,11 @@ static fpage_t *create_fpage(memptr_t base, size_t shift, int mpid) { fpage_t *fpage = (fpage_t *) ktable_alloc(&fpage_table); - assert(fpage != (void*)NULL); + assert(fpage != NULL); - fpage->as_next = (void*)NULL; + fpage->as_next = NULL; fpage->map_next = fpage; /* That is first fpage in mapping */ - fpage->mpu_next = (void*)NULL; + fpage->mpu_next = NULL; fpage->fpage.mpid = mpid; fpage->fpage.flags = 0; fpage->fpage.rwx = MP_USER_PERM(mempool_getbyid(mpid)->flags); @@ -148,7 +148,7 @@ static void create_fpage_chain(memptr_t base, size_t size, int mpid, fpage_t **pfirst, fpage_t **plast) { int shift, sshift, bshift; - fpage_t *fpage = (void*)NULL; + fpage_t *fpage = NULL; while (size) { /* Select least of log2(base), log2(size). diff --git a/kernel/interrupt.c b/kernel/interrupt.c index d6575d0c..96b42a32 100644 --- a/kernel/interrupt.c +++ b/kernel/interrupt.c @@ -59,7 +59,7 @@ static struct user_irq_queue user_irq_queue; static int user_irq_queue_is_empty(void) { - return (user_irq_queue.head == (void*)NULL); + return (user_irq_queue.head == NULL); } static void user_irq_queue_push(struct user_irq *uirq) @@ -87,7 +87,7 @@ static struct user_irq *user_irq_queue_pop(void) static void user_irq_queue_delete(int irq) { struct user_irq *uirq = user_irqs[irq]; - for (struct user_irq **iter = &user_irq_queue.head ; *iter != (void*)NULL ; + for (struct user_irq **iter = &user_irq_queue.head ; *iter != NULL ; iter = &(*iter)->next) { if (*iter == uirq) { *iter = uirq->next; @@ -130,7 +130,7 @@ static void user_irq_release(int irq) if (IS_VALID_IRQ_NUM(irq)) { struct user_irq *uirq = user_irqs[irq]; - if (uirq != (void*)NULL) { + if (uirq != NULL) { ktable_free(&user_irq_table, uirq); user_irqs[irq] = NULL; } @@ -139,7 +139,7 @@ static void user_irq_release(int irq) static void irq_handler_ipc(struct user_irq *uirq) { - if (uirq == (void*)NULL || uirq->thr == (void*)NULL) + if (uirq == NULL || uirq->thr == NULL) return; /* Prepare ipc for user interrupt thread */ @@ -161,9 +161,9 @@ static int irq_handler_enable(int irq) { struct user_irq *uirq = user_irqs[irq]; - assert(uirq != (void*)NULL); + assert(uirq != NULL); - if (uirq->thr == (void*)NULL) + if (uirq->thr == NULL) return -1; tcb_t *thr = uirq->thr; @@ -198,7 +198,7 @@ static tcb_t *irq_handler_sched(struct sched_slot *slot) irq_disable(); struct user_irq *uirq = user_irq_queue_pop(); - if (uirq != (void*)NULL && (thr = uirq->thr) != (void*)NULL && + if (uirq != NULL && (thr = uirq->thr) != NULL && thr->state == T_RECV_BLOCKED) { thr->state = T_RUNNABLE; sched_slot_dispatch(SSI_INTR_THREAD, thr); @@ -213,9 +213,9 @@ void __interrupt_handler(int irq) { struct user_irq *uirq = user_irq_fetch(irq); - if (uirq == (void*)NULL || - uirq->thr == (void*)NULL || - uirq->handler == (void*)NULL || + if (uirq == NULL || + uirq->thr == NULL || + uirq->handler == NULL || uirq->action != USER_IRQ_ENABLE) { return; } @@ -252,7 +252,7 @@ void user_interrupt_config(tcb_t *from) struct user_irq *uirq = user_irq_fetch(irq); - if (uirq == (void*)NULL) + if (uirq == NULL) return; /* update user irq config */ @@ -261,7 +261,7 @@ void user_interrupt_config(tcb_t *from) uirq->action = (uint16_t) action; - if (handler != (void*)NULL) + if (handler != NULL) uirq->handler = handler; if (priority > 0) @@ -270,12 +270,12 @@ void user_interrupt_config(tcb_t *from) void user_interrupt_handler_update(tcb_t *thr) { - if (thr == (void*)NULL) + if (thr == NULL) return; for (int irq = 0 ; irq < IRQn_NUM ; irq++) { struct user_irq *uirq = user_irq_fetch(irq); - if (uirq == (void*)NULL) + if (uirq == NULL) continue; if (uirq->thr == thr) { diff --git a/kernel/kdb.c b/kernel/kdb.c index 68567fd5..82f1b368 100644 --- a/kernel/kdb.c +++ b/kernel/kdb.c @@ -148,7 +148,6 @@ void debug_kdb_handler(void) void kdb_init(void) { softirq_register(KDB_SOFTIRQ, debug_kdb_handler); - dbg_puts("kdb_init() invoked.\n"); dbg_puts("Press '?' to print KDB menu\n"); } diff --git a/kernel/kprobes.c b/kernel/kprobes.c index 23836cd3..95083f90 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -22,7 +22,7 @@ INIT_HOOK(kprobe_init, INIT_LEVEL_KERNEL); struct kprobe *kplist_search(void *addr) { struct kprobe *cur = kp_list; - while (cur != (void*)NULL) { + while (cur != NULL) { if (cur->addr == addr) return cur; cur = cur->next; @@ -43,7 +43,7 @@ void kplist_del(struct kprobe *kp) kp_list = kp->next; return; } - while (cur != (void*)NULL) { + while (cur != NULL) { if (cur->next == kp) { cur->next = kp->next; break; @@ -118,7 +118,7 @@ int kretprobe_unregister(struct kretprobe *rp) void kprobe_prebreak(uint32_t *stack, uint32_t *kp_regs) { struct kprobe *kp = kp_list; - while (kp != (void*)NULL) { + while (kp != NULL) { if ((uint32_t) kp->addr == stack[REG_PC] && kp->pre_handler) kp->pre_handler(kp, stack, kp_regs); kp = kp->next; @@ -128,7 +128,7 @@ void kprobe_prebreak(uint32_t *stack, uint32_t *kp_regs) void kprobe_postbreak(uint32_t *stack, uint32_t *kp_regs) { struct kprobe *kp = kp_list; - while (kp != (void*)NULL) { + while (kp != NULL) { if ((uint32_t) kp->step_addr == stack[REG_PC] && kp->post_handler) kp->post_handler(kp, stack, kp_regs); @@ -139,7 +139,7 @@ void kprobe_postbreak(uint32_t *stack, uint32_t *kp_regs) void kprobe_breakpoint_enable(uint32_t *stack) { struct kprobe *kp = kp_list; - while (kp != (void*)NULL) { + while (kp != NULL) { if ((uint32_t) kp->step_addr == stack[REG_PC]) enable_breakpoint(kp->bkpt); kp = kp->next; @@ -149,7 +149,7 @@ void kprobe_breakpoint_enable(uint32_t *stack) void kprobe_breakpoint_disable(uint32_t *stack) { struct kprobe *kp = kp_list; - while (kp != (void*)NULL) { + while (kp != NULL) { if ((uint32_t) kp->addr == stack[REG_PC]) disable_breakpoint(kp->bkpt); kp = kp->next; diff --git a/kernel/ksym.c b/kernel/ksym.c index cd84f3ea..6498edc2 100644 --- a/kernel/ksym.c +++ b/kernel/ksym.c @@ -64,7 +64,7 @@ int ksym_lookup(void *addr) sizeof(__ksym_tbl[0]), cmp_key); } - if (found == (void*)NULL) + if (found == NULL) return -1; return prev_index = (found - __ksym_tbl); } diff --git a/kernel/ktimer.c b/kernel/ktimer.c index e1c5bfed..de64f356 100644 --- a/kernel/ktimer.c +++ b/kernel/ktimer.c @@ -134,7 +134,7 @@ int ktimer_event_schedule(uint32_t ticks, ktimer_event_t *kte) ticks -= ktimer_time; kte->next = NULL; - if (event_queue == (void*)NULL) { + if (event_queue == NULL) { /* All other events are already handled, so simply schedule * and enable timer */ @@ -222,7 +222,7 @@ ktimer_event_t *ktimer_event_create(uint32_t ticks, kte = (ktimer_event_t *) ktable_alloc(&ktimer_event_table); /* No available slots */ - if (kte == (void*)NULL) + if (kte == NULL) goto ret; kte->next = NULL; diff --git a/kernel/memory.c b/kernel/memory.c index 45ee8ace..526f6bc5 100644 --- a/kernel/memory.c +++ b/kernel/memory.c @@ -198,7 +198,7 @@ void as_setup_mpu(as_t *as, memptr_t sp, memptr_t pc, /* Find stack fpages */ fp = as->first; i = 0; - while (i < 8 && fp != (void*)NULL && start < end) { + while (i < 8 && fp != NULL && start < end) { if (addr_in_fpage(start, fp, 0)) { if (!mpu_stack_first) mpu_stack_first = fp; @@ -219,12 +219,12 @@ void as_setup_mpu(as_t *as, memptr_t sp, memptr_t pc, * mpu_fp[2] are others */ fp = as->mpu_first; - if (fp == (void*)NULL) { + if (fp == NULL) { fpage_t *mpu_first[3] = {NULL}; fpage_t *mpu_fp[3] = {NULL}; fp = as->first; - while (fp != (void*)NULL) { + while (fp != NULL) { int priv = 2; if (addr_in_fpage(pc, fp, 0)) { @@ -233,7 +233,7 @@ void as_setup_mpu(as_t *as, memptr_t sp, memptr_t pc, priv = 1; } - if (mpu_first[priv] == (void*)NULL) { + if (mpu_first[priv] == NULL) { mpu_first[priv] = fp; mpu_fp[priv] = fp; } else { @@ -258,7 +258,7 @@ void as_setup_mpu(as_t *as, memptr_t sp, memptr_t pc, } /* Prevent link to stack pages */ - for (fp = as->mpu_first; i < 8 && fp != (void*)NULL; fp = fp->mpu_next) { + for (fp = as->mpu_first; i < 8 && fp != NULL; fp = fp->mpu_next) { for (j = 0; j < mpu_first_i; j++) { if (fp == mpu[j]) { break; diff --git a/kernel/thread.c b/kernel/thread.c index 52be2e15..1fea508b 100644 --- a/kernel/thread.c +++ b/kernel/thread.c @@ -197,7 +197,7 @@ tcb_t *thread_create(l4_thread_t globalid, utcb_t *utcb) { int id = GLOBALID_TO_TID(globalid); - assert(caller != (void*)NULL); + assert(caller != NULL); if (id < THREAD_SYS || globalid == L4_ANYTHREAD || @@ -320,7 +320,7 @@ void thread_init_ctx(void *sp, void *pc, void *regs, tcb_t *thr) thr->ctx.ctl = 0x0; } - if (regs == (void*)NULL) { + if (regs == NULL) { ((uint32_t *) sp)[REG_R0] = 0x0; ((uint32_t *) sp)[REG_R1] = 0x0; ((uint32_t *) sp)[REG_R2] = 0x0; @@ -384,7 +384,7 @@ int thread_ispriviliged(tcb_t *thread) /* Switch context */ void thread_switch(tcb_t *thr) { - assert(thr != (void*)NULL); + assert(thr != NULL); assert(thread_isrunnable(thr)); current = thr; @@ -402,19 +402,19 @@ void thread_switch(tcb_t *thr) static tcb_t *thread_select(tcb_t *parent) { tcb_t *thr = parent->t_child; - if (thr == (void*)NULL) + if (thr == NULL) return NULL; while (1) { if (thread_isrunnable(thr)) return thr; - if (thr->t_child != (void*)NULL) { + if (thr->t_child != NULL) { thr = thr->t_child; continue; } - if (thr->t_sibling != (void*)NULL) { + if (thr->t_sibling != NULL) { thr = thr->t_sibling; continue; } @@ -423,7 +423,7 @@ static tcb_t *thread_select(tcb_t *parent) if (thr->t_parent == parent) return NULL; thr = thr->t_parent; - } while (thr->t_sibling == (void*)NULL); + } while (thr->t_sibling == NULL); thr = thr->t_sibling; } diff --git a/mk/toolchain.mk b/mk/toolchain.mk index ab2f0282..13123cd7 100644 --- a/mk/toolchain.mk +++ b/mk/toolchain.mk @@ -22,20 +22,14 @@ MACH_TYPE = $(shell uname -m) BUILD_TIME = $(shell date +%FT%T%z) CFLAGS_WARN = \ - -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ + -Wall -Werror -Wundef -Wstrict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -fno-common \ -Werror-implicit-function-declaration -Wno-format-security \ -fno-delete-null-pointer-checks -Wno-pointer-sign \ -fno-strict-overflow -fconserve-stack - -#CFLAGS_OPT = \ -# -O1 -fno-toplevel-reorder \ -# -fdata-sections -ffunction-sections - CFLAGS_OPT = \ - -O0 -fno-toplevel-reorder \ + -O1 -fno-toplevel-reorder \ -fdata-sections -ffunction-sections - CFLAGS_DEBUG = -g3 CFLAGS_INCLUDE = $(foreach i,$(includes),-I$(i) ) CFLAGS_INCLUDE_USER = $(foreach i,$(includes-user),-I$(i) ) diff --git a/platform/kprobes-arch.c b/platform/kprobes-arch.c index b3c9e60c..298f122e 100644 --- a/platform/kprobes-arch.c +++ b/platform/kprobes-arch.c @@ -28,9 +28,9 @@ int kprobe_arch_add(struct kprobe *kp) * otherwise share the existing bkpt. */ - if (found == (void*)NULL) { + if (found == NULL) { b = breakpoint_install((uint32_t) kp->addr); - if (b != (void*)NULL) { + if (b != NULL) { kp->bkpt = b; enable_breakpoint(b); } else @@ -50,7 +50,7 @@ int kprobe_arch_del(struct kprobe *kp) struct kprobe *found = kplist_search(kp->addr); /* Free bkpt when there is no kprobe at this addr */ - if (found == (void*)NULL) + if (found == NULL) breakpoint_uninstall(kp->bkpt); return 0; } diff --git a/platform/stm32-common/mpu.c b/platform/stm32-common/mpu.c index 422a062b..41c69781 100644 --- a/platform/stm32-common/mpu.c +++ b/platform/stm32-common/mpu.c @@ -65,7 +65,7 @@ int mpu_select_lru(as_t *as, uint32_t addr) int i; /* Kernel fault? */ - if (as == (as_t *)NULL) + if (as == NULL) return 1; if (addr_in_mpu(addr)) @@ -81,7 +81,7 @@ int mpu_select_lru(as_t *as, uint32_t addr) /* Get first avalible MPU index */ i = 0; - while (sfp != (fpage_t *)NULL) { + while (sfp != NULL) { ++i; sfp = sfp->mpu_next; } @@ -89,7 +89,7 @@ int mpu_select_lru(as_t *as, uint32_t addr) /* Update MPU */ mpu_setup_region(i++, fp); - while (i < 8 && fp->mpu_next != (void *)NULL) { + while (i < 8 && fp->mpu_next != NULL) { mpu_setup_region(i++, fp->mpu_next); fp = fp->mpu_next; } diff --git a/user/lib/l4/platform/syscalls.c b/user/lib/l4/platform/syscalls.c index bbbd1966..b36517e9 100644 --- a/user/lib/l4/platform/syscalls.c +++ b/user/lib/l4/platform/syscalls.c @@ -97,7 +97,7 @@ L4_MsgTag_t L4_Ipc(L4_ThreadId_t to, result.raw = __L4_MR0; - if (from != (void*)NULL) + if (from != NULL) *from = from_ret; return result; From 2caf08a8eef4cbfc737c8601ed2766958f72243a Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 18 Feb 2019 20:51:51 +0000 Subject: [PATCH 04/28] Add repeating printf() to ping-pong test to show activity. --- user/apps/build.mk | 6 ++++-- user/apps/pingpong/main.c | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/user/apps/build.mk b/user/apps/build.mk index 6790f14d..b1dbccdb 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,8 +3,10 @@ # found in the LICENSE file. user-apps-dirs = \ - l4test \ - pingpong + pingpong \ + +# l4test \ +# pingpong ifdef CONFIG_EXTI_INTERRUPT_TEST diff --git a/user/apps/pingpong/main.c b/user/apps/pingpong/main.c index d7e6fba7..96958032 100644 --- a/user/apps/pingpong/main.c +++ b/user/apps/pingpong/main.c @@ -42,6 +42,7 @@ void *pong_thread(void *arg) { L4_MsgTag_t tag; L4_Msg_t msg; + int count = 0; while (1) { tag = L4_Receive_Timeout(threads[PING_THREAD], @@ -54,6 +55,7 @@ void *pong_thread(void *arg) } /* FIXME: workaround solution to avoid scheduler starvation */ L4_Sleep(L4_TimePeriod(500 * 1000)); + printf("pong_thread(%d)\n", count++); } } From ccdb8d9c63ac967e623f36d5123fa67ae159b871 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Tue, 19 Feb 2019 14:15:53 +0000 Subject: [PATCH 05/28] User app to blink LEDs on the STM32F407 Discovery board. Code taken from https://raw.githubusercontent.com/benwei/f9-kernel plus modifications to achieve successful build. Execution is faulty; execution halts without displaying boot info. --- user/apps/build.mk | 2 +- user/apps/gpioer/build.mk | 6 ++ user/apps/gpioer/main.c | 165 ++++++++++++++++++++++++++++++++++++++ user/include/gpioer.h | 83 +++++++++++++++++++ 4 files changed, 255 insertions(+), 1 deletion(-) create mode 100644 user/apps/gpioer/build.mk create mode 100644 user/apps/gpioer/main.c create mode 100644 user/include/gpioer.h diff --git a/user/apps/build.mk b/user/apps/build.mk index b1dbccdb..f76f8039 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,7 +3,7 @@ # found in the LICENSE file. user-apps-dirs = \ - pingpong \ + gpioer \ # l4test \ # pingpong diff --git a/user/apps/gpioer/build.mk b/user/apps/gpioer/build.mk new file mode 100644 index 00000000..aa6d7599 --- /dev/null +++ b/user/apps/gpioer/build.mk @@ -0,0 +1,6 @@ +# Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +user-apps-gpioer-y = \ + main.o diff --git a/user/apps/gpioer/main.c b/user/apps/gpioer/main.c new file mode 100644 index 00000000..f07819a7 --- /dev/null +++ b/user/apps/gpioer/main.c @@ -0,0 +1,165 @@ +/* Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include +#include +#include +#include +#include +#include + +#define STACK_SIZE 256 + +enum { GPIOER_THREAD, BUTTON_MONITOR_THREAD }; + +static L4_ThreadId_t threads[2] __USER_DATA; + +static L4_Word_t last_thread __USER_DATA; +static L4_Word_t free_mem __USER_DATA; + +#define BOARD_LED_PORT GPIOD +#define BOARD_LED_NUM 4 + +#define BOARD_LED_PIN1 12 +#define BOARD_LED_PIN2 13 +#define BOARD_LED_PIN3 14 +#define BOARD_LED_PIN4 15 + +static uint8_t board_leds[BOARD_LED_NUM] __USER_DATA; + +__USER_TEXT +static inline void led_init(void) +{ + + board_leds[0] = BOARD_LED_PIN1; + board_leds[1] = BOARD_LED_PIN2; + board_leds[2] = BOARD_LED_PIN3; + board_leds[3] = BOARD_LED_PIN4; + + for (int i = 0; i < BOARD_LED_NUM; ++i) + { + gpio_config_output(BOARD_LED_PORT, + board_leds[i], + GPIO_PUPDR_UP, + GPIO_OSPEEDR_50M); + } +} + +__USER_TEXT +static inline void leds_onoff(bool on) +{ + for (int i = 0; i < BOARD_LED_NUM; ++i) + { + if (on) + gpio_out_high(BOARD_LED_PORT, board_leds[i]); + else + gpio_out_low(BOARD_LED_PORT, board_leds[i]); + } +} + + +__USER_TEXT +void gpioer_thread(void) +{ + bool flag = true; + + printf("gpioer thread: built-in leds blinking\n"); + led_init(); + while (1) + { + leds_onoff(flag); + L4_Sleep(L4_TimePeriod(1000 * 1000)); + flag=!flag; + } +} + + +/* STM32F407-Discovery + * User Button connected on PA0 + * as result, for this demo app, + * Because USART4 (PA0, PA1) is conflict, + * choose USART1 (PA9,PA10) or USART2 (PA2,PA3) instead. + **/ + +#define BUTTON_USER_PIN 0 + +/* if you use external button, please + * update the BUTTON_CUSTOM_PIN with your own number + **/ + +#define BUTTON_CUSTOM_PIN BUTTON_USER_PIN + +__USER_TEXT +void button_monitor_thread(void) +{ + int count = 1; + + gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); + printf("thread: built-in user button detection\n"); + while (1) + { + uint8_t state = gpio_input_bit(GPIOA, BUTTON_CUSTOM_PIN); + if (state != 0) { + printf("button %s %d times\n", state == 0 ? "open" : "pushed", count); + count++; + } + L4_Sleep(L4_TimePeriod(1000 * 200)); + } +} + +__USER_TEXT +static void start_thread(L4_ThreadId_t t, L4_Word_t ip, + L4_Word_t sp, L4_Word_t stack_size) +{ + L4_Msg_t msg; + + L4_MsgClear(&msg); + L4_MsgAppendWord(&msg, ip); + L4_MsgAppendWord(&msg, sp); + L4_MsgAppendWord(&msg, stack_size); + L4_MsgLoad(&msg); + + L4_Send(t); +} + +__USER_TEXT +static L4_ThreadId_t create_thread(user_struct *user, void (*func)(void)) +{ + L4_ThreadId_t myself = L4_MyGlobalId(); + L4_ThreadId_t child; + + child.raw = myself.raw + (++last_thread << 14); + + L4_ThreadControl(child, myself, L4_nilthread, myself, (void *) free_mem); + free_mem += UTCB_SIZE + STACK_SIZE; + + start_thread(child, (L4_Word_t)func, free_mem, STACK_SIZE); + + return child; +} + +__USER_TEXT +static void *main(void *p) +{ + user_struct *user = (user_struct *)p; + free_mem = user->fpages[0].base; + + threads[GPIOER_THREAD] = create_thread(user, gpioer_thread); + threads[BUTTON_MONITOR_THREAD] = create_thread(user, button_monitor_thread); + + return 0; +} + +#define DEV_SIZE 0x3c00 +#define AHB1_1DEV 0x40020000 + +DECLARE_USER( + 0, + gpioer, + main, + DECLARE_FPAGE(0x0, 2 * UTCB_SIZE + 2 * STACK_SIZE) + /* map thread with AHB DEVICE for gpio accessing */ + DECLARE_FPAGE(AHB1_1DEV, DEV_SIZE) +); diff --git a/user/include/gpioer.h b/user/include/gpioer.h new file mode 100644 index 00000000..55dca541 --- /dev/null +++ b/user/include/gpioer.h @@ -0,0 +1,83 @@ +/* Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef PLATFORM_STM32F4_GPIO_H_ +#define PLATFORM_STM32F4_GPIO_H_ + +#include + +enum { + AF0 = 0, + AF1, + AF2, + AF3, + AF4, + AF5, + AF6, + AF7, + AF8, + AF9, + AF10, + AF11, + AF12, + AF13, + AF14, + AF15, +}; + +struct gpio_cfg { + uint8_t port; + uint8_t pin; + uint8_t pupd; + uint8_t speed; + uint8_t type; + uint8_t func; + uint8_t o_type; +}; + +/* GPIO Alternative Function */ +#define af_system AF0 +#define af_tim1 AF1 +#define af_tim2 AF1 +#define af_tim3 AF2 +#define af_tim4 AF2 +#define af_tim5 AF2 +#define af_tim8 AF3 +#define af_tim9 AF3 +#define af_tim10 AF3 +#define af_tim11 AF3 +#define af_i2c1 AF4 +#define af_i2c2 AF4 +#define af_i2c3 AF4 +#define af_spi1 AF5 +#define af_spi2 AF5 +#define af_spi3 AF6 +#define af_usart1 AF7 +#define af_usart2 AF7 +#define af_usart3 AF7 +#define af_uart4 AF8 +#define af_uart5 AF8 +#define af_usart6 AF8 +#define af_can1 AF9 +#define af_can2 AF9 +#define af_tim12 AF9 +#define af_tim13 AF9 +#define af_tim14 AF9 +#define af_otg_fs AF10 +#define af_otg_hs AF10 +#define af_eth AF11 +#define af_fsmc AF12 +#define af_sdio AF12 +#define af_dcmi AF13 +#define af_eventout AF15 + +void gpio_config(struct gpio_cfg *cfg); +void gpio_config_output(uint8_t port, uint8_t pin, uint8_t pupd, uint8_t speed); +void gpio_config_input(uint8_t port, uint8_t pin, uint8_t pupd); +void gpio_out_high(uint8_t port, uint8_t pin); +void gpio_out_low(uint8_t port, uint8_t pin); +uint8_t gpio_input_bit(uint8_t port, uint8_t pin); + +#endif /* PLATFORM_STM32F4_GPIO_H_ */ From 739cfe1d69b3282eee35c91ad7b644ac90a9a594 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Thu, 21 Feb 2019 15:54:39 +0000 Subject: [PATCH 06/28] Modified ping-pong usr app to send incrementing message counter from ping thread to pong thread. Both threads display current counter value. --- user/apps/pingpong/main.c | 82 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 4 deletions(-) diff --git a/user/apps/pingpong/main.c b/user/apps/pingpong/main.c index 96958032..d7d52054 100644 --- a/user/apps/pingpong/main.c +++ b/user/apps/pingpong/main.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -17,16 +18,84 @@ enum { PING_THREAD, PONG_THREAD }; static L4_ThreadId_t threads[2] __USER_DATA; +#define LABEL 0x1 + +#define BOARD_LED_PORT GPIOD +#define BOARD_LED_NUM 4 + +#define BOARD_LED_PIN1 12 +#define BOARD_LED_PIN2 13 +#define BOARD_LED_PIN3 14 +#define BOARD_LED_PIN4 15 + +static uint8_t board_leds[BOARD_LED_NUM] __USER_DATA; + +__USER_TEXT +static inline void led_init(void) +{ + + printf("led_init(0)\n"); + board_leds[0] = BOARD_LED_PIN1; + board_leds[1] = BOARD_LED_PIN2; + board_leds[2] = BOARD_LED_PIN3; + board_leds[3] = BOARD_LED_PIN4; + + printf("led_init(1)\n"); + for (int i = 0; i < BOARD_LED_NUM; ++i) + { + //RCC_AHB1PeriphClockCmd(LCD_NCS_GPIO_CLK | LCD_WRX_GPIO_CLK, 1); + printf("led_init(%d)\n", i); + gpio_config_output(BOARD_LED_PORT, + board_leds[i], + GPIO_PUPDR_UP, + GPIO_OSPEEDR_50M); + } + printf("led_init(9)\n"); +} + +__USER_TEXT +static inline void leds_onoff(bool on) +{ + for (int i = 0; i < BOARD_LED_NUM; ++i) + { + if (on) + gpio_out_high(BOARD_LED_PORT, board_leds[i]); + else + gpio_out_low(BOARD_LED_PORT, board_leds[i]); + } +} + +#if 0 +#define __L4_NUM_MRS 16 +typedef unsigned long L4_Word_t; +/* + * Message objects + */ +typedef union { + L4_Word_t raw[__L4_NUM_MRS]; + L4_Word_t msg[__L4_NUM_MRS]; + L4_MsgTag_t tag; +} L4_Msg_t; +#endif + __USER_TEXT void *ping_thread(void *arg) { L4_Msg_t msg; L4_MsgTag_t tag; - L4_MsgClear(&msg); - L4_MsgLoad(&msg); + L4_Word_t count = 0; + + printf("ping_thread(): built-in leds blinking\n"); + //led_init(); while (1) { + printf("ping_thread(%d)\t", count); + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, count++); + L4_MsgLoad(&msg); + tag = L4_Send_Timeout(threads[PONG_THREAD], L4_TimePeriod(1000 * 1000)); @@ -42,12 +111,17 @@ void *pong_thread(void *arg) { L4_MsgTag_t tag; L4_Msg_t msg; - int count = 0; + L4_Word_t label; + L4_Word_t count; + L4_Word_t u; while (1) { tag = L4_Receive_Timeout(threads[PING_THREAD], L4_TimePeriod(1000 * 1000)); L4_MsgStore(tag, &msg); + label = L4_Label(tag); + u = L4_UntypedWords(tag); + count = L4_MsgWord(&msg, 0); if (!L4_IpcSucceeded(tag)) { printf("%p: recv ipc fails\n", L4_MyGlobalId()); @@ -55,7 +129,7 @@ void *pong_thread(void *arg) } /* FIXME: workaround solution to avoid scheduler starvation */ L4_Sleep(L4_TimePeriod(500 * 1000)); - printf("pong_thread(%d)\n", count++); + printf("pong_thread %d : %d : %d\n", label, u, count); } } From bf8951be7d08ea945c09c58e700ff7a3b3b4de44 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Thu, 21 Feb 2019 15:55:43 +0000 Subject: [PATCH 07/28] Disable gpioer usr app. Enable ping pong usr app. --- user/apps/build.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/user/apps/build.mk b/user/apps/build.mk index f76f8039..409d3fa5 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,8 +3,9 @@ # found in the LICENSE file. user-apps-dirs = \ - gpioer \ + pingpong +# gpioer \ # l4test \ # pingpong From 5a163fe17be59bc2a68309591f7a7e7025c194bf Mon Sep 17 00:00:00 2001 From: ab1aw Date: Thu, 21 Feb 2019 15:56:45 +0000 Subject: [PATCH 08/28] Add debug statements to understand logic flow and debug LED functionality. --- user/apps/gpioer/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/user/apps/gpioer/main.c b/user/apps/gpioer/main.c index f07819a7..e7a29898 100644 --- a/user/apps/gpioer/main.c +++ b/user/apps/gpioer/main.c @@ -143,11 +143,16 @@ static L4_ThreadId_t create_thread(user_struct *user, void (*func)(void)) __USER_TEXT static void *main(void *p) { + printf("ping_thread(): built-in leds blinking\n"); user_struct *user = (user_struct *)p; + printf("ping_thread(): built-in leds blinking\n"); free_mem = user->fpages[0].base; + printf("ping_thread(): built-in leds blinking\n"); threads[GPIOER_THREAD] = create_thread(user, gpioer_thread); + printf("ping_thread(): built-in leds blinking\n"); threads[BUTTON_MONITOR_THREAD] = create_thread(user, button_monitor_thread); + printf("ping_thread(): built-in leds blinking\n"); return 0; } From 3b911e515d6981958575f097e627251332eaf403 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Thu, 21 Feb 2019 16:00:02 +0000 Subject: [PATCH 09/28] L4 User Manual NICTA L4-embedded API from m http://ertos.nicta.com.au/ Mational ICT Australia. --- Documentation/l4uman-n1.pdf | Bin 0 -> 261949 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Documentation/l4uman-n1.pdf diff --git a/Documentation/l4uman-n1.pdf b/Documentation/l4uman-n1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9e0ca8197e75a3262059c638ea3a704858ffea4b GIT binary patch literal 261949 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 literal 0 HcmV?d00001 From 1fbd795fefeb6b7a7ce4843ee85c629f0a1eea74 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Thu, 21 Feb 2019 16:02:42 +0000 Subject: [PATCH 10/28] L4 Programming Introduction slideware from The University of New South Wales. http://www.cse.unsw.edu.au/~cs9242/03/lectures/lect02.pdf --- Documentation/L4-programming-intro.pdf | Bin 0 -> 393841 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Documentation/L4-programming-intro.pdf diff --git a/Documentation/L4-programming-intro.pdf b/Documentation/L4-programming-intro.pdf new file mode 100644 index 0000000000000000000000000000000000000000..64fcbf725e14fa7c59aaca644b3df9b8529c7949 GIT binary patch literal 393841 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�{jGgyWi||!#Yn$HJb9aZ47;Bnmp?%*w zw9ITE=lnc;aqa{-!n)(J#08VZOpRH~BfGHKRaB0IC|BZ2<_Ls|hS(aRm?{4KFo-=K zmbf-s#-g7E1`HW$v?Uc`s)2?uW;wb~no1c34M?@OPh2d31 z#E2=8v=AX|3NnERNkdt3wumXYxkRQ}C#dg8n?m&fHIe4@=E==yUQX-BRKX$vWQ{=K z>0O0$D3rVT-QQpF6l<3ZNwR>$QXqN4?~8f5K><^1-YU`POJq2A1YKgAP!kDJa15(n zR68Nznxn*Qx#*A7PR-;R1R0~Cw$e0r9I=83syoO}0CsUPTt~59jPo|Uq0^M^LsHix zh~1#*<=5-jGA5sh8kEbZ^Q%WvF>=2)k4s!ah`=ZUvn-9uKoFM(CeMSDz^cjUQL-uu zLk1E`2gRWO4>AGKFbh@BFoVp;*n(n41ed-Cm=N^a(XCitAIHU9Pl0FlIYPKAAHPNJ zZ|wr{A{s`|#wPdqg?~Nd1GzFivG4QVw?Xsq`hlKjW+Pth2zJTJv-YEvYjB&^p2f4I_J#1Hn`?NRtp9pOOoS*I zG7<2``O>{&IBv6v_!6$<3zX3AT!LTVBwf~w~i5BP?EVdHt(WVEU( zqE1;BiJ>rif}BdDx3GBBaO9-PWJ5qfz7?VrD_p|joI?mYRY)KMA|i#18mwlKMEEMM z?SkRq;PL!SQRn2g4bop2)LMyd$>?`!0KHz}g0%r$1pY%??-L=vyIEszXvmHVweSzl zvqcxWKY%-!hoW_QZv0O5-LbD7UG&EPerR;caX83EHP& z8`s3{jP=e~BrO|9DkNG%5?7VC zXq}Oa%d2dUP`l1b3X@Pt0}?sLB*a7a{q*EKheV+*I!H`eh}x#MX(rbz%0&AOe3k^U zs7CKj;J?gL{f@wyW6rL4o$x;%YTN(8mfJ_llgpJy@kx@yzwK-{-`r(p zzUjE5eWxGvCgnFCQnLlRy#3yv5o;8`8e!gB8C$c?*sO5G%)&!{MEu zHQ3yF{DYEFqRQpcM=|)F)1Hvg>C}F&{TFreCjH85Mn;l-;VC~Pog;=GZ<>!WO=BeM z7=~QYG#`DZC%Z`N;{oC7Ca5L#L?7##`epZC_f+?Snjg7mDzgv|obLVL7&pR$P)ALg z8_5+HbpY*Rr%5iL4jXcIhy}05eHbHjBh7=>li&VI^lFToDxXX~f9af@0gIIoh(aBg zuux7arCFY4Cif1LQl7%rNp{~yclUXY)Hp4H-!As2s1VcmhB;D-Z(=8@u6y@K_WEsi zuyAPdKPR@0w>Qz$cQdRp&zZB+`{BJg)&12Zp&rUw={l_j00uC-z={2zq--4jB`y2^ zQ_9B4@t;yQHYQdAMg}(4|0ZQq5RnxAPbnL%kiCt`|Iy6$&+GP|$~Q4f8&f6%W@gU+ zLB{sK$NsNmY>aGd%>N~0W8!3HX8Lb3HgBGk3q1ebPQwK6PM99M>@IV$aa|G07>x9a z)eJCV|ZE>?Wmqt3s5jB#NCON82I;uZXii#V$n{B#6rRzDVZ0S#Mt=hTHZok~= zXYbwlXWzPedrx1zeS4n(AOH;TCICDUI%vnu+q~no07o#u1tSIEnoC+uQYL`&Zet#V zG<3=J53zoP0NuU-1Td>+h+5dG%wZFZSidw`_(QUE_dUP?dSn13hB7`<&zhh5l>jw9 z5CDqwX*1jN3(c3H070!8{9PI`g~Q4`fB_32V%Q^2q7#Noos<9=$^aS?5oe7V1`GRO z0O!dVJ^52Ir_>~qF$RBUGx)OlkDFqN>yrW3O9DoK-+2llw!qomhLkw<`%lZSb}2y( zFr!AC;f@HKmHzPxID#ML1C)ivH87*@P#=Rg2Li~A(} zLAXr19{_3E{6c68Kpu{i6u=A;DTH`2k52Lkid_a(5UwJqXS?eO0=-P`Zz|FfXyyz& zxJ$#K!-hp-?DUZng25U_vpH>8w;+foFQN-;;k0%3=eoRVULG1-3vUF|y}Y)~14;jk^bpa$qbG^3IB_4Xzb_`~3kMHpS256aw*Zgmb&) zb~Iw_Fb|CzwQFo>K~k1WkW-t;S5t(!f&5@=te+XZKK^#>j2JPNe=0vgx&39c&cOqAE>93Rc4!1P=PYYYt01ec zILm6$w^v|>$JkP%&-ZR%`k|2;BXC#FN_>;)%MI=8{hdh+n`+;q3xqb6{vbT+Jkv(k z@g1^~Gnj~|g-g%0@iG;?nN{bCdz?M#*UYuY~(+m z%$qCJ9$5+eJpE^XmJ$^WS_*=LV!)ne><9rzPLnOQD-FFh-0$`>Hiy@%{5{{1;`fD|g~|E0AvA7vRZ>z? zEt}Dp(9CA!(6JWOr;J5GqLeOZRLQtIYZw0xPYNMe-jPNy1z?o?hy(&iODS_JKfh+M z*=4#lGoDG#`aI42tc!(~YFx$LqxYuG5|GkMlr%4oS)?ATR)5d3cID6KnKJm2+tr>Q z*U}k3m!>|7TbLsy<8$-p%dlq*cV%bt5*;)XD8 zF3-gJLn2il-%Hh)=T2>7dZr<3&?mA3=r^}D9`v`}nXKgIiRzhbU8FHMILWQ+Zrq9e z_BEGJHU{27<#o%&^v~)^%%5huAwd|Y{eTh0b1o14`QAY@(HpG{-@D*rzbQp4b)mDX)@C&9k(-0n)2DSMZ*V73O>*s z$tDePawJm*52JvIjqc?IlO-edbDg+2m-0~y+pMVpL zTvW@#ji=~DC4=C>r?4l+EjsMp@h7$J;v08I8)+&i%dEx?P}!EG1zz(U7K!LZ9Y>OX zN4*j%#d_QBBE8R9iyjnwd!%$`kju5@VaK3l*E+%DaUr=JhGrK6X{k}v7XMscWobvw zGV2Yghk3x3B?9@j}h0g!zsxA?vnhE=g|DY3nG!xYh=ynX_J9wSc z8!NT3d-D3IDJC0#y$`!2-W@D0fm120(N?JX`sW1HAijer(r?>~cSD<%B!$!-Cy0cC7MwkF7|Yu;0wh8MMB}$gw1@)7JLBAwEpI ztK_6Jo&4%3vsC>U+h^pReMqm# zXA2lpuibEV#q6S@65@*UCvf1U6*crdX?JN=*95M=8s3d z(0Tn|qHTzF&7^&C#TYKxy0^n!;IM3WaMCx5KJ^vH&%EKLsye3{Y7=93-~%0X0%l1w z&gOQ9cX)VducaUG7gaonlRu+<_H4?=up3E`qQX9V>yntCTq%vYOSNRee-n9$nA@Bu z)fOqG#7di5G>8)8q_rd#jV6+mRLZp}AZOmqDsWbMes{d*UdOucp7`!Qeeb&G?%sL( z(p4dl-$bGYB8zo$3>_t6%=bsoyB36f6E@MpKtxfHPGO-UplzOwK$wCt@`pO!#0|d? z$vl8wuw^I&sm+Y(xc7zxE~$lPyB{x2#4?q^wM>ASWLAl<9+v?z7Y{PEc#w@8f42NV z{v{$7_&qlIR68%EGk275Ij`uaEWCn5`)D)@Hg2v5{Koi%qPt z^kKpP{-*7A`fkw#Kax#bhgol8-S#naS*Z3HI(r|xjbNBBW}!!6c2(%8l;)`YL|>;b zvLYrwcL5yqtJxA~o4h>MJ=4Up{xHkyL{&uxfd!30w;i&WH|N1-5%6@R`O7>K5sc?n zd+$}oSo9tzp^wsxNPJN*mCQK`)NL0j1K>J)FzJkHi=!Fk9=xYA(7+Y(9+9fq{~>X2 zRK0pR;fY_5EX>A=722%IX+Zvk219%y#&PS0dPa@hxnh~%^gY2encAuX8igqmxO$3x zicNw&MTsz%2oT#pd%X`8YUrc4S7GJ|nSgkOfnGTlObu57DaDE~77Tm1fN1V1t#uC% zRu%RNxj2{z~I?G(=vzF!J5_M!c336Gln%4Xw!3 z`hi^g1KS>b&3uAf#|!NLLg|&qNV6|O^vY*bZ5?^bgmRFUdFR+gS3QQ15ETpA*gWj0 z;;-hUeaqe~uQ*l0yKM)F5u%+~F~uW`wB2)C6Sw(Ur2(YpGj2Ow#}cfeA3MJQ8xlu1 zt*hG0`5!Je5*AEF%8&dzJT3;9T@fRNVa&M+rf z<1EHNFDW=GwX42Z>S_trmMWG4umvmw z!J+=j)m3dd@#ERN%j+iH*50NIwb22=?1lc>#Nexs23vb5-DfG*_O{U_Sxz<A{T#rC>c3&L2kQye(?B-TCzDk7Co<0WBdx(smX_-e;mj4!r6;3WV5%94aTg$vyJczR*L& z5n3U(7{Cp$Bm$v%0*3hLzOm+n>2y#eikSV!kpN}{I2+(;fXVJpSPRI=`+60g-7z7H zlJ~r}CI|fK!s|RfEqh!{Pqx;pOqpcuP#fKmQd)|*(EPx$W71S&Yn;b2=)B9j1#^n5 zzxst?>Wi>(Wg_Dr@aRT{lI zS+c;VN8boTPGg1a(#LuK-U-3_D+UH}eA#FyN<>bYt3ClR{iAp+G!WW7;Aklj{+ZaS zMFT<$-}NLxy7keF_DL}oj?FgET3>`ZV#~LbN7+Mg!q{fA=^&H|KYd0#hy;Mo1K|I8 zsT0#6GKhKr0s^0D67>)eMm16EdDH`miHXrw_8W2srf&$J4f1oLJK=_+;BCk6+!Cjf zW?iW=DPK$0;L}=oNm5SOQQWzQ^^|6}o;eDb9))%M|3EO_)fFzw9_^OO-Xyam?r|Y! z=g`#PLXq#LlCeU-WzqL-d3k5+=>*z~AMO&GZrApL`}aYV(>7gqg$HQ zB|_@U(es52Y$JHMwPP0`}~pYvHdZnIt*k7qr+3X9X0qcyT#39IL1@vLpPuKMcMG$@t@=4GWU_r?Rq zE-pc6_Q+BdDdg{N5#a-JZW*3K+R7W6=r~+*Oz{?I6wQ)GHiJk?wE1=s4L;;K!G-kv=34;?UAAVxS z>3{OW$%zypDUaB;+bw?l|FqyvDZSCc`|6tOF7O4B#HW`9^t( ze3$^vg_a=JcLHq>@-qM#2Rp@cVD8A>;{;q3^k+cI_+1B172utR^?l}g5LrW`j-ub8Q!&}NHDQn z10WQ&jxb)LnMXv*h{gDqy^9f9Sf@~+sKfxYQ&I%9?z&bqP*#2M%wNWqm$eqEBxl%;?KY1-n+`#bD!;W!|%Cln~eY*q1M)1 zuI3THi;`#D3@6vbSk+N*tMFFAyZeU{M84v7FWa01Xw>pZi4QB1)(ofYQPb~o(fPE1 z^!f|qe0^y#N}@zVDbf}hby}d7y@fmFYlxg(7?UBm5i@Evq~4gY189@kXMVIDN=S>gxHi#iXD2}l|Z(jLN%YIEp2yHe~p5)s$Q)B zM@v?xztFViOZ+C3d3{Zyn&S3|b)6&ZIz~l1NzL1N1?__W4jqEcr1AU!FthD{i`U9- zmGx48SmM@}xF(carg}teTJV2qQ0CBtU^0ncDeTUhtKseb9%~ zOkuZDGMFy1H2zo`dp0-ufY($p5RG-fwa+O!PY``iqiBebM|_udOzNUo%wr+Cs--;m zD*{A)3FAK>1*hIoHr}Ir)I2EGL0sJ(qojGXfD?~)Y9|$Wo*rsLu^{0pMX2xQnVG6? zMM;V%wpeu`Szx$qNFHIStb=Ws|VQ6 zN;XB#f_+n4Ew~eHJ%gx~WN~AfM+_r!wxHC|`5iTY4C4YO3v3DTLS}!fVyJ5CvJekF z?gkbXtcGViB30Xpb~I*WYYtR}S*e9@Tz6?3yCsfg)D9Q+!JP+>K4`#fxIb*2CaETr zS`_ufG)|rl@FtQZKhwsLn|PvNV~NoACY5cxGEq)PX39U?G%L}KcyV`8@9G+_%_^(3 z;8d0If}o;0x{JykNQ{LusUkWYrwKc4Y|tiSK?&WVj<;B{1B-&_Vt_zfAs)8IKzqLE zgb`S|`mMS+YPyXIlZO!H-ys^){Mx2xq&`HJ`Xo}MQF3%~Yb~AF@?rnf4oub}$fX#p zfr?B9ZLsS)HR5yjX%*q%PRgYI$|)laR)f9;%qV5U$0gOD@Wh!9RaD!^&6=a2h2p@ECSivi@P~ON&z{ z$n$cAxLtoqslG@G;Yk{BLS<_m^5#}TSeeA>Au5c;lN~85nU&h zWT*{$Yy=Y5-WEB9t$@SxFQssG&Ii{I5I=V%x3gB*wXCMn)7A9XPd@e1VV!Q#xhiyv z^zwAKOVJdJR~Xy-<$0*mBs|sl1+o3=d3VFFltoj0b@nB(Qs_P=KMCyue+Un74=@i5 z3h*|d+Wz(c@Bpq8V=wTEems7_ACR2YzYD~>E9=HxzOs9gz8`B8*As<&H$?Y5AH?VK z<$N#jEn>*W3-Chz86VxG%V(Lu(`5~MSCjfiesn9=!f!XOd4JEZt_}BqvI2YR&-L5+ z7wVRH-X3^t_&__+&-#kcH-C5a$CAm}j zHt4PUl5Xto6fezs*l5n&pLkrUKbX(`S|P8ZEX&D`f_bo%)!t_qNp7Pr18*|^fo`}Xk?%AYksF%-z;J4dR`BwGqN%n$vO6^~Xcn0P6wl0-47P?uO8W@xWOM*saPb zk+IM{gHmh#+CeH~?(;ukf5GmgFk=>UbF1)$t7a=_yP_<`_1`kOiR zj%$SEUi6sSIO>#>5|$yp=EN_`$N8!|-FnJok=q*la`rAFd4l6}YgGA%*VBX>pc|zf z(Gm|t$FLp~pM_9UGxZYjbBb$NsXM?=%ru z?H#pv(9|2h<4|{!Iq6D`r8{A`AAihw&U9w-1sjv_`qxa?)VI(F{JxreuS>l|jNAcj z1=s`26ZSdfyrF9&e4cz@dJiud#Cy1}6LU=|34m8!BRVv5KhbcUp6dU%BKu3W>c&0C)?4j@ zd(ia?n|SGs?+ka4!#Axd8byA*j6VTLaI{wd*`02m`tLguapp;#2kahYj#rr&b0L>s z)EUPxqiZOi#=Q^h^!*^HefdW5&K>=l@eu0)(^Z=NMZZ$T*BMbAnY-QEdDY{~`bRhb zO;9Hw=t&ZUu!StbGzw%D3RzM>C@L~2VTBt-(89(bV-QMID})Npa2(w;hPrKjHNq$G zQH7#`TdKBX5JCCLm?p?)2FZXw{{7%~zYDv6d=TK`?t9Pme%*EMo8>**jw*oU3vfQ^ zGFVU^#k6`EX&@&>G3k0WS58tC^E?Gv1{{UFCt;!;mTQ(788X6zH>ElGoM1bg8|fv6 z%Su-C&%FHF6RJHP3~n6r(f@*;c;=7& zu^4hr@M}Ve={e;4u{vfjZ$M-JOCt_LIO~Ztz!kvEq z_i|U%ke$!J4ohKu)$gYBjc12{XWivE{3alCefF#CsNZ|Z7LAV)F5;~Jn<{Vh;-ehE zwPw6i-qXVv)ru^Dr%=>?au%2#pdN_+r`7PM{Z8~v<7=r;R(qSPG0``Q73Hic6_52) z0qRg2Y|{2)4*?mJce05!tnD%!0Y6_@MknH{DadU6qp)KNnsVsXy{fG@#@~PNgIzhd zGw3oly>dP$y!!-T)|V#rP_Io>8sT?0FmIqn?{V z9iI1$rtXvMP;cU$Xs+A2msIyj#rfLSuiI{w`m+%B5-MWYvS8ly%<>z@$sFKasmC6X zcCkFVLNBu07g6CtsH^IDZ=Rz~K?{H%|DM0cn;`^v?xOu_+pWbExMv58O+KMmurEiZV9r}p7cjn zXj}33TiOyfy^}v46+^ljh<=_*6Mo|h(Z`&&Aev&xJUUk_Y#nnvIF9TXTsC8m@j06M zGhWGgpTcElg!c~qgM9>3FTEGTyAlE4yUQ`jQI+QIsqai4$-yV)@0UE$?IhyAGsRva z?Q&lB9D4c=__axF%Oa#+C>BMm`>3NN*H2uI7$>O|_OE}JxXG9AQeGU-#@dWlm5hCS zeK>z~kW&lY(-y>{dH-JbA00!sP`%^kyecBXhKaO@djd}8_t#-DraSXasX;rm*^lPx z8qx*w(hceSeWj7^QvEyIcFTXZ*{I&e#jxs;lIp8f+}NhR>~|`tA8f%m7m0SXmQekG z|I`k*w`*^&UmKaw4t(j;?Q94aX5SuuH$MY+Y)XAjy>GZL=1@FVGq(hp-vr$I-M(KK zVSSO{59x{NK|LAanhV>XT)_?2HbBgQ27oW@2hY};c24H9-97#nv;~Opt6un5X62O2 zgVTfMlF*$GD055~N~~}8b%AYVg|ZPnAZ}fKA^y__{I`3oOK^l{mY)NhDe59mE z*AgQ3n!>t!PMJ}y==N&Hb-(MbRR{9y(K<5p_TYPgAHq>N!5nAkH-{*3jN@U_HFx~r zd~nXlK&LC00Qd(kcw7;jm+>zPU#ZsdbgNm4m7%?DM0BfKDRd3(2)<}HR`_H1zSOlO z?uwDWmBXy{oyghMzI1;(!B8020V(b=bffA&F`n_)dU*GoMX>X=&yX#?aMwCQisqQ- zzQ*edAz%6%mSuj6Wh(JhH#{f4Q`f`z4IUiL7&d8q(*Eyej66beBCs=@h3v4Gl|tNW zV4r}_YJxY>e`wx5d0it$J$ki9wrxh>y2CgwOquuYQR4P>Un;nDL$V@?n12-fxRb))LF*Mc{sohn?5`6DXj;Goea6A2h7X ziT?6>@uoU%r&<&_y!&Yg5FI#=Aj#u~Se-2-p!!|#iWqBTIDSO>~cL3fLqQV`Qc`Q9V@gUvqir}!6< zD`wWG{c>XmSdZSBY#5c@yw6PK7IrS#fY#Do~{t>b=*2kN>zq$4Bb=7Kk zlrf9$bI{*_Yb&uI;BqYc267u~NEl$6hNi30K^LQxJ%=S@LJRw4L|;WjH^Upf24972 z0S1!RefzDRKLBc5ycE)L7bMn=Aci@D&pxA2xM6flGgSPN;t)BUXY3u^uR@Tce9Ew=u7_l|S- zuG2^F>el{tr_g;K^=)K^PFjC+`>GpUh`qb359>%A@Qu9XJADw(l>MgPBNT1Uo^fA& zqJOH+J0H&tA?3BAwK}G2{62oz;|AlGd82PQl&!7(`+?Xx%>MD6QQsQn9l)+DdM#W- z<&0(QGB@@xde-Xfbrz;vtDBl?09&y=kiW{kj&p5Tg)wyx!3bPBAse@wDQD#nvT>&K zPzUvn>nc}Qj`i7AXb)=@swe58T&;wy3`T55Uip4?}iC%cb= zml)2n_$Fofv7HcQE7XwG1lBoJf}y9|s*i1Qb|w|In5eQ+M-ij4F3lz!FNGiKhEO<_ zfk7M65;!Fxg(&pEO)(Ma@ky63DP`CyOk7DRBU}{hgyHjAFxUh*KX(YYuN=1JNmxo^ zGD)Z`w%0y-NUM$4I}XW=uQbGRDTTo_3Te>rpPV4(7_sRl2ZvLrEjPC|1Q0j{!R3{B z43B*lm1tySn{o^eR@wjYF|~j!3o#IjWugJR%ZvFslR1^)29gvdP9+G7a%k&4AvdQc zM5SJ=6>=jpQ%V6DcEWZ!ie-il+E8L@c07UK#XH5@PpgDtI(dOO16Sk8Ow#}!uO_7B z`BC2z-hvFa0O9XQOvz+28xcnO1{~Q$T3EYc*tbS0QklGa=y>|6^H!r9gQlHbKisJl zp@q7vV$k*QV1^PY3U5is0jSjYiEicp%aLP1EPXdQy&zs>XKAn>L~7K{(A?xs;-ZbQT12_1YT@y~$)OL0%Yl(y#lKh>A2s`PzVt;QHNZ~ApTaxz>T0k( z2|3EX!jmvMeJQx_`0vMf+e4nCx2IlrKJG~4Pr9?OhO2HjAtCG`o9p$_%1C&L02U=k zLInyBQj)+1066Ej4I4q#=r$y%mP-LD>y6>R;+XqUailKT^Y}G0A?FDM$U%c*BO;<; zNIT1bjjuVz=Ot1wA7eimw>_WTb5Ff~d#}BBPra{~Hl3Z{WU6)U`uuLW*b?~sK3hcK z3skJXNyqzpb(`xe0kM>4iVn|n$MQppZg%UVZ26?-3pALwcxA%*DvgEmgUR6%yJN2S zOUIx=JMlXG?d6{_msIq*6SNRv+*}ssePX}k1+m{?m;zvm(j-((loGT`;WFZ7qO~?uMFse<5z}YsnfwIJ0=6+sHy1XcVk@%vT_#I!>5ee2*j*o-O-~7?yeI33kv{IBiHIY69nT{q3pnpaOCst zMLpx5MMGF*W(Ll9f-Gl08?yz=6YvrsdbjNTlCz79{ork+q{wmVHb#JzdrVq4Ir)&v zqCguOG>|Yw1>qH_Wm;L$&=6rQca!tlG=~f!dvE6(Hhk8N7R$o6Eat{qy2(Aun@=#( zvmX1^~`4ZV(vWWp)U12HWc_`DqJx?Ky3nQ$AG8| zIH=V@#@1Qw298&-@Q1OGm@$Q`Or^|A`2kGKa>labQb^qO)oEfbED;R zVl!-1;<=TRU9P_eEszk>@Ma5Fw7|Jw-E#woXG3~Fzom2xQ4@!c!Plp$0Txf zk;P_-kts(a(G;P)jT!zV*U_F1jD%d5(I31OJE@Rb{piy+oC_m;j<1eN$y}Ph#pK<9 zdD8@bgU+Ds_s`kLoks)Z*FvD^uKwWU-9;#AXKU-&GV&YQ&$MOlBhfh2Z?b=NJPCYZ z`G15?1E1$orM7hmGOy7l3}4sNx7M~^l2Y7T61@H?<`Xc|8tlZF!@U*rNJ(6aoyrGB zNVJrc%;=0wQ>p^T4l2fKM|GjXS6)Ypdzpz3G*oD19uKLHv9@9d1X{6NUA@zy2ORy# z?Ngaa(fuE07i!V9)o5>G!?~-zn@Pk|FuWz<5WU@bKHW%l{jFcZp^?DR-AD1MX&$j8 zeJ!6qI?=`5>9#NXbCq*{sDG*YK&1+S(x^{R-&fw1FKqm*ezqMU|4djlsAAF_UoR+x|uY6Somk8kr`^>>7{WGzb*kdk%ot%G%-V^UHrO#me&kb@lQJ1O{Z8?5o7DBLL!YonQ`>Yyxe3 z+~?kwYR2!L_@{X&FwB7hi$x3~?}OpHlq_kya(w8m$m?TvH6eDVcl>g-0j8OLIuIDj zHOZ&kV?BXBk5*C-o*Bf#25IISwPZK(h12$Czj!|DkADDt^yTc%tE@5X>@03#>aTD) zYWbLc4lVb)SoA+!G33WJ+XSkehj7#gZNcC+;H(ZxJ@@?vxFH*2c~Kt-8uMyl$3*;4 zJqLrLR#Y1fq-KU6FhPntjv9ZaGv|E_G;5FYo5y_tUx&#+z~^;#3$_C9CI5JIQMVG{ z!)P~TINOi?dIP{+)8G6L2s;bIf1%$07YIA+KY0BA)D>ss{NH4`jiI?S0n2|f=0ZaD z9t7I|-ayO5#6ZBv$jJN;UuXEA@O1?tYGqGbBYPWJm49>p=c+ive?Ij;$#oXS|4y#| z$JqZ3xz5JU$oOC2IwJ!MyvaSLlR=x!*@Yx1Bm*(Xkm=yNs^2C*f@lH)YAdn? zW6wAhNdRb0z`JZxXogy1Y)tr#A()|SmaWL&;$lG=1Y;fgK^N_pmOF8{EaXd@0`3NG zmw)ApunB!FfPnTK&ERGC5ef0Qi@l#3qC~g%Tx&Jx9l-`0stXqWBser8U-K z$;21Ni%($cKv+UfzC?Jzor5N(O`d@Q*)0K!NF1sKt|tj-3WutJ^K=TF*tZ2>Z-2GC z00=|1A`xn#VGs7ecUA}}IF^)sBl0Rv!2s@i2qL&uc5G6d5V2S3P%2eI)C5waiVQdA z__34dAGJghAmW%p#^Qk~zWIQGJjUV$3QG_!tk5+SiBSn+qEi0E-%oIdI{beQT5vuE0?9J^&O+&`q_)U6m3s73HHZpNJ4YJ zXY|x9tVOczZfx`xUgwwXe%I5*QAkQ^a~7L8zO55Nz8!?-w22_mZz;(Jf;x>oS7;7n z`5l@I8m_L^;@*bnrB)(Bb`R^f2x@$&`$zMl(3tqL8b+4))ijrDZh~!hCg&F!_u#|v z(K$L1ROcW%?%``Cxf`2!!Ku(k?|86M-=j8{+IY>^81&YrN}q4kHecO!obSb8_P0*! zHk=tY60({Km?#ZYmELp9w9k3)^1Q(h+c4^^i*TQduG63|IRo=1J3milCr#0D-Gk@f zKBBsGIB{VwSnw~dnBL?^eeXqoXd`_e5B}(Q`b$~+4#;gr>QL?)j{n8jJI09e#Q&OO z+qP}nwr$(CZQC}^*tR`$#OvCn2XeM+V)7H-b9 z7wy@{)FFH8bl79-opL&IkxQv=7pb=1Ad|M;Yo}l3zxdcoT6?PsJ0hf=8T0j6krO*F z71onp8goarpRwgb57zr@uv_os&z6&9?IO>e?+%$X_!Sn=E^({>{wNYGsAn(A?v~by+B!H{<#L3j1E37hH)8!=(Xt+5(?FLwhyejCYI&IL#K#zIpYR;5C==>!BrQ$5 z=mYl5NyJ&Txr~4G#pte0^~GS{D#QTb%RM|EPP;aheg2z|I7TO#5WDy7Y9=9PHFiC! z&sfKgulGvv^;bLFFQH%W_onfd$_h?)yH?})Esh@}oWmwETZa0m*S#=^J5V2xv@svU z^dSzsUzfD5u70kTE1h1Yv;*qSbHwDfv6YO9O-!=gg^l(?rlU%W=~AJBs`S`{cMYNF z>$g!m-)qvxfdsg}}9&bXAcQD%-w%_d47&P?MWwYlN z8Q--Vh+Ar}e~EF>nr$v0N3E;6&8q4E`BEHhLkZkw;$JXq&*W%lNLR<%SCdm*!0bpO zihRFkvt~^hIoJ!DVoIq%awRzIgLZVzg=t?ztFKq2MpMM)d{gA zhz*%B<~D*A38nnspZzyrjTm>N5Hf5j292E+A@aE4TpNqQ$L}mu(YZ02!k0tRVAvH? za$|5gAM{y9!O*SymPV}RvmlT#9Kl6Rki~dIfs4uw&y0p7JFRg%*lzl3#dJWPR%rwj zNXCf^F(4%-1u-a{3FD`kr~6}33T%i3G9BjeL(tvM{UqJbVo`Vz_AQDWpzTWgAtFdp zzzvgH0#t&8$ltvNYuGa^N$9mN`2psY8@tzVS>nWM5wr_1DZmTB8-eF$h9skKUYl}e z27-%xgXm9HK!}Qrhzzlw9fT$y9LFV^k2NWIMN%dIf)Zs2AuvPXqE1ZBj~C?h%nKf6 zPd7kmO8wq=Ag1TGhfRKafo@O@z$z&oyw;ZAp2p0oXnY=|=dQBTnWayNs0!Uc3Sjp7M=EAUG zMk1p)(au*{pz4(g#SZYxO#(h-NI@>HFm<3MQy1W|B$O#w5!!5mmMxeF_zR>J;?^q( z({%GCWc4Bg(9rUtenK`2rPrxhu>6|zZXR06Jigs}=DqTgrjry-IY6M6@pc>`#nP2W zFG`9hHssb7LGPqY<{)VoMr$*pMw%oSnvofaP1G2fYG$sIgekO*U>%~(dcL|lO|*68 z&;7LK`}+5+{M!w>_4M1jy?yx7bEKyt85kPa*-~tlx~+iQm3t2o&`ELR83 z%W@(2)|b1!1ZV4V=hps+S1&G0t0)Ib9Q9!XqG#A=9&goZ=npAF&Gn1KoCm?6M509mnzynP>a_s76-8VYn& z&_tz%gFpiZBeXuq3r%r20yQwualxLMfrN^yh}_)eU=NR-1DIIVIIudmbk@)Mc=?xX zW-mTmJXB0GEG$$)Dc*`IGDDh|LQyKE=;tR}XS^(3sYnz8E+e|7vFeUTZQhXV*U^_m z66wy6EcHzSChWN~9LYv4Vj<@>*o={PI_x=b7~d+2gGUC@fD$f#MCa}F2FZ(Vq9L9t zm$94{(Xe$WpU*eGOnK|Pmwus()$RPm(R^|^e#p94(n)Glx%=h_D=~T?;cuBK8a?{D zNnNEEmy4K?^=#sg)aAA*-MhJASX{T=jSHdl9t}`Vd9Q zmB%_||2uPhk*pt;QR3JIa55P=$L7^W#xs}il8f`yY!l{^t$go0>&!A$EOs!f2Z>Pn z@HhNyy#Epm9D-#ZY3Kvbl`Jm}<5#~DzuEKsz@TCL!sqf{)m$Sn=1TRrChR`gV_$UU zHcMaAiO|~PP+}}_yd)2Q7GM9Q9+Uem#4$sHFp-D=fQTSR1R=<;n2^nc#xaI0OAmBe z#H*~VJj;mK80Z*T9o&y>ep;CHzf;AEeU7H5H!>r&$;9|4Y8NW#m|J`ljo3FRNZSd% zc0>0qrZ1eD@J{rz9jx|;YnL$bKT0kcJrA|C|IQ70cl506rxQGOhS+UPUJu33;d|WM zsr9d_>cj5xnuV^;3Bw{YkA3j5NW(L*%0v`z#~8JDh`IVFeynGC$IO3_%+okcgyj0` zeo$Gywl5GXPr~!1U!w9|t|zVLXzK8L<=T0#%`}YsC_`;q)J_%BOEI(Uw0Bgdq3WI6 z*xJD7J3OcSy2Db}p=D4`&y})J-<-VbFhSrST==Jp{24v-@7U7+eF0oLafOvU!1{JI zB?gI@v$+`W@*QCB;X+8P< z`Ao&?r|bz*3lA^W=cbjL`zlrzyZIw7{QU`1Rc|sp=D7Jg6pS{&@O>B7zPRG!r6GBz zEo{VUJGo5yi&UoT*#TUCvs9_or|VJJr@U5cuTV-=DtSr#MO3yyKJx2wyLn*;%-hbh zmsXbIMW|wi{YcY6Ym&8EWpF+(IC|G{ccCKKA*$#j?powv;x_qQ%AL=rG>USW`pPV| z;p6A>akO0coPHCzq}@ek{zkgnONNntJKiii^?==eJ^EvwMEF8_IX1rd+0o5uscZ50 zU1$~`M~lj+vGitYFw!+d(Ji|U#{h<4*VlDhhd()l{G&-fA)_u--jN49ZpiWvWE=trN{j?kL@3cZ(4islRcK~Tq5|xV zgT6L;*nmccXpsO27y^{H1oodG>^ei>*#yXiH*dhWJ_6=DSU_Bju&&zxp^8xcfjNT+ zYAqq?&a==vTn>X1a3Q3efb4GGKFlXVcsL=>;*3r zZjnR4Mh5`%wtnkHc+%LYb8{AjT5=e0T8z+C3!=@_*i=hilYTW3MSu|pl$+$aaVV!m zo+9ANq}BU8Ej%r}?+X=vsM$g1ZDW8KF>CYzDhYuZ+Xh^>LNmylXYiD<0;1L7uyrK$ z15u}OGN*v<66AB&k1SZDP8+00(;u45)@D0fJyPY)1;3P?C-RYq>Lo_ zIK-?aX*s02N0hlzwdXQa#d<6$b!Ck#>1vBqTH?2h`U{hqGLuH@r!_&jhNtVOtCN82 z@yZT{IymjY)kl6uc+T>itnl5GQKa>MU#ng!cb5GIJqE-e5Za(RC|(l}6C=!cG6?bH zpR5SfeiTGnu~rL6h}^Le7wFc5w=LJX!C3Ej#m+IG?16Q{)P~)GH}^qZh&i!*z)V=) zQ#1(soFkYgk)D)!B*~5>G&lBwRJT$ti0Es=F)K9|sv zMs3sEkdEm8O{e+SXJpp-*x<9?B#6xONFa`M_`3J~ z0YLLb`$pr}Xv&CoT7c99*mO&&(0wKd5|Wj)!Vr^zng@cIgV4B=xdlfRp|#3gLzV+- z(;{X}np<4&D^qp^nU6O+OQ2C|a34?EPSVh6hqC4cH(N|Ba-(oZI4KRJrB=KYW2iw7hV;8?8WIOlFa%ds=@9 z`m~I+PpNvY2B_^XRE0aq9lw2>9kai>`j)Ea! zE9ipT0gqAQLc;*PiQ@|-aM=C@8BuD3rgG5!hM3oXKQ0o5ZfV%(unp{lh1vjAlD@i% zOe$Tb_-Gcmz1hml-Pp*?-RasHqMs4;80Nh5#TvRDmn^QYf2A(WyQ!Ov+v##^yItR1 z#j;t*&TeC618K9;{;Ik?|0wTvZOzNNsFG@*s#HngzGAb^q=`fWluw^WS^`s|vXxLQ z6vW1XY3fW96Z8ru5LHEiwXqXkN!gIu*n7Hb(#VOUpqfThQPR^z$iqz6w5Uf28_PqGiCJh90Zh^Vwb;6wj_>}B2S(PUmoXI+;XCw z?}4Y@=&VlSXjr^DWp12@nX1~n0Zrv=&C;lNX>Q6C>03aHjv-+RKL31~G4hrXwfpCB z0)+H*p>$GgP^^`!my&jrr1Fr8cIl(_{OTTMR#rD{Fi`W?M>n@op&Qnfk(E1d{;OrK znsjNQ{2?`gm%+PsRl%CwI*8VDq$6wH$5S-2k(-T4`I0M{Ih&cz&w#f%M6`rAm^!Em znMy2a-a#g}CgURHN`#zkh+1+!O70+LdcH}5s@jE_v$;Gipr~>KJb+rD>vwG?$wiU~ zECsw@qfKsg4eMgfqw2DyBa;@9GRQfK@g?hdXCQ3}l&&UMMTI1T4`X1vEP2N^!>=!2 z_HHBy5VL09xj1sA6AJT|2gBAY$%(Q|Q)fwqcZ%h7mF4n;5?1}eb-NFss$#q0M}=bL zX5EFIbmdo&x3wxh-tvAy7?L$jHq{9me@{hw#l7xQ3ddC(sXLw8F(;k9^$$gS4ZB%t zNG=qhkBGCPJQ@k6dMPF01%RqjaJA{;#p`dnSm=TI^dw3AjFjP`ov(9`xw5aa#|uq7 zAT+Fw&zAz5^-cwF8p}r8V)XGq>MMThBz>mkw#T>78-}~8n=hb8i?B|pJk1&*EdWS} zBnE2zpk5<1*t>cGw(DU8!NsnCF2GiwLXo|L?g-K3D1xro{?S#${Zw2!0P_YH*;6d7Xh1Gx`cdaXi7@vM8G^$cB zGvzPl)z@f1n@9GTeNhVpJ0bGT7mZnA*3n*c*W5I+GxYd^zAlB>?=O)rWX?F3e9|Z; ziXUBopV#$Qj#0*FjKApwVQq5|Tvx}h`)_uF3EtR562=wvLRScW5yp##*bg*6a7W1! z<_$9pn->*((eE(EHN;>1e;F3pu3i~_|J7>kg;!7b0o%Go!VAjwG5ml<%%N@B2<`w< z3;|Un*-G?_^Ps>FAv?z#Zu~u6rRYPBYuw(4<5!+Mr`g08<~RH)cj!(r4y&C`hqiGkowIFt?%g_ec5J$>mPqXhI zCpm%I!WsI~vkmtJ&o%Y!fr_xNJHqaX{<=*C3j2PWfnqy>>OrLgN>_(?3swgxmtf_? z9hY^iKGQTuv!yZ7I@A8{16t?$Lo23ra+#fA!)oJx;lquk+p9oay@tU%$Np}oU;Dfx z*uA%Y<4wDK;|;nH#u4kfT6b@id@FJoX`kouJPcY0TvhFurYpBWkq+KetK}zk^VUu3lL=)Xa;LJ3h z8hT(WY) zo~IWVPkOfUL1Jqz)5s@T7iy1TzRpQdI#Px}>2?3q5}r3zVYT~5k&A$(gb8^mrmXx7 z)|N^NmbU6-$ULurZ)n+&HY=RD@m}O7h7mOv9(z9{EshM`Aj9Ng#yNZ2*M4RPh$VTt z?^S~UbJdjjk%Q+IB;HwucbaFGG2VIluz}IWD`qCRSQe0dL)bzU{DMHqfBTfCIyfN{2y4bvDk2H1+ftukTg(K~J)@ zV7>A=*iY(r@tLTrA2~ac$$$iUMD%96dupwYe1mVOkrv|j=Z%qp(mI_YH3mrW9*JAF1i*gb5!_@)$^dFPl^!Xr%zq( z4?k3WkTchN*Y2Mk#Oite*)es~KLJ}!UpL(J-CYlW6F(O3?%Ss#+V4XPseL%Q@5CEU zDa#EYEx-7?Yro-kkJ!-B9=%N&<4;h&;?zR$M_wB!eas%s z;S2BIeZ9(GYd^ouhaR&7ut!cqTJ`_|MpGF7C&9+_|6j0i{!?TBZ@7k zFd1r)WXrP@r6o)&1u0%G|M3(hkuDb%-Yiko*fvcmUMg#*Wd^F(d|!IwjMlQ#8vYIQ zeBYO!m&YK05Cc3CC-Ea!`CJ#aKA?baj(6f*5GaX(ic)(Zi~1gf7wJ8p_&REqG^9HX+41VF=A7f(Q+36=LoVY`9SJwa^Qi)#ahqmJAaf+O52fjEX zj5!3c&#whKSwhTbuTN;KP{KOM?J5CU1%67jTHWmnpUIiVyCNh-_bgNj6OF#u+=}6c zZ$N8~z`rF77s4YgaWGaT)6H;sfA@##uqg&*tU%;w$Ho1 zV_n-_J6i@fOxShD-*KQF?cU&|ezXtXmW`$|z;a^Vz# zbxrB__Z*A*92!{|;n%?p zO|K%28pe_B6iLvctnRBS4tvCXsN|xViy{-nCAwr%D4De5k`IqvUJ7+)Q=vJVrjF1& zh4NC;k4!g)HKP@Bm!qqMz6EWST&o1VwWyDK^tcOFtYJ5Guj@oLif9|tZqg{zX3`$j zqFd8h*FK`2Q=Y{HFh`Vth}Z7tkrcOsbBECo>!>OtF>xgeS-tbdJ;x90{samxPI*E; z?=ZK$5J|N@_Oz5x2k)gX={=PQSF}J(D66s>f#)K}UKle1=qE%MEt7HTaueCCPcB(h zzA0Rl!YoI!FpAZr6-2jSqIc|?8-vQ0X0A)gF30PY?W#m77X?ojhe|N7L5tQ>WM>UP zFz9>U(fGM3>gTPhcU!AOctxHr+0`7y*bTKm(cL7N=^dVvd17^VPSWgq>4WSoXOH`; zO?+dFAe&?zgItUcBKNhM7E}o^|AbO+;?-5a+zuaT~GsNemh8 z*6&kmP5W{joqm7$PhAS~)+v#=7OLEYli8-VscaRkSbnw|r=i5X2-O@!@y)H^jN_pc z0jfJj197k`N(?5)w8Iayb>lCDUR}PrJj0>`pTO%rBTK0THT!bZe!2zkdqnk z&n6T=yi_DygE!3yY_HZv_Fj2s<{p(J5Gq2zxqJPbeB=K;P z;VTlkJ=Vua_PF*?uMPt?{}@xm`neGF!UDwGQ;abrN#J{T_9O@lUh;gq)-HdWC(oCd zwOH)kepE6XqVM9%(<^Q6og?dCqdc~raaJ)N0e3yL)oP2p%Edy$LD8TZuu?=x2_Y%x zohHqGpc@v|4v(94#l5vN?Z7|mfXUU|gqOZv^si2#&6j|?7#g=ruukXFc$TWpp$n&m zuC0PW8E-QM11Dr_pr8yGqp8UHloh2B!8;`4{*^j40>WTHj78UwrN{;@A4u5Mfs1#{ zcH+C7c+8AiLXL@oS)p$dpm*2;*8+WzOdsY@lBLGC*%MMeyGG3#*~%Kt25y*S-LOIY z&S74Hy@Y$>-glB*@-&84>qxNP9kaNt%kC4E%r0k|ZoJnM8D}M1%}h`KYFJyZ zJV-c?3<~d`M`b@pd{&#~;PE8*MBZ%Z!Fgy`u_Sx*{GS=$6>xD^)%(ZYuG=2c5jRw1 z!py;gEDQ+-fp?fz8j~a?y-qs_y242#J?M+zMTJ_k{R8Tj(B;T>w}q zLb9ZQ-gL!ZF~cbn(35i&fpwIgww0_sN&{;rwZnS|o)C|~f38H7SNpn!v)^nO6n`L= z+U&E?Gipaq|BRlp3hEtn7>~4d94W}!;iKI>Ng*173epO@NLhxFZ3{|)KFIAr!ofn! zd}Ai5L>FgCP@+Q7R~*L9GXAZX!{q%aV^ds8Hb80p8C6r#VR!D1IXZ=@o5N7SKiZjZ z0P`13)6!8yhAW4$q80*z3XlHkEpnjfX0T#i{_xfFf2;6P;Kk5W#c*P0vFce&L8RPN zi52B3Its3#nz^~7jy1&vEN$#2^H`3iPaTc=YpALSE!14i-5b>QSCK~)NU3_XRp-$$ zHVPHtyWt{H7E}D5ag{(jRAv05s6t5T)X^1+Hma&^mfH0#mU!3uF)t8_>P|_2Pav~h zp^0$6+#EYjD)*)!wrKORMQV8gJ%H#@u4+|YA@%`XE1(TkAkdAxw-HW}^rK#^2hJ&* zYo{~pN40;cU$_5T0F41Z@p)dAh%!0pi57bd%kTd zL$0-EOedQm4F7m%{+4;u0(z3xqW+{;smT}B7x=n^!hWfmX3B;PnM>#$>&Y_1pZXIf zGxYsZB-a)4xDn%%uf;y3CZxvU3zu%nd_$}*b?pr$9WmeQtR28Pkj#MZVCd!0kR9sT zEX6)pUzi{qs2$p;rD$%)gIbJW%nLb&>jZk@EW!^PGx=}+6sA) zo3sjI(UwK2Yo?dK5WZ{clKf$L%aHwhl*&C4=VD~CqF+H6{&)=_#=TVU4H>=-bV6}R zyeV;wLj6wDzKgNQV_?sm>uUrbdZL)|T3$dJVHhm{@s0i&{PD(dzP}okSRR1B{QW#5 zFw>k;K-TTAscJ(%+!)e{kL#ZX(g4>}h)elEeE@OI@N^_|IOC0*63SaO@dV+3=K|;r zq3>WJ0l?efkL3maQAgAqL)#{P4D3(HN!7#tntLM0_incRB-kuKU^ba}n% znVXXA)uly0m7g@BVC04^EoQW3zVb`1u(z;fNjZuBWH&YF)%K9d;GKFOFqb-y4~7-c zn1@q3(kv92m3lNnzGrGs3Zc-8S5QeL#wJq zHV6OICm<)5McccTZq(x=NvqIL|FJoe{21B&lFW%|(@|IGV^_DfgWSG&bC=(2e9j?< zxKrL?*W7hJ4f2&cf%})<$v$0`u zSMBLE>Z<4P7O-b$g>+eWC7O-8_#dzan>qgx9FGLb*1%``yFoa&Ih) ze96Cen482O4JR0@9zv5nN%A(IO)F!U%;xjyF0hw}d;nW#pW~;)#^o`hGNTsZM+`;- z##r`KuVCl5MZfVDx#XcQ9=%atE}@IEM@XFN;4_aPCflLi_58!{XP{$Lm5RSb&+rq! z!fB=Cck_&?B$U=BJ8>634fd&_}VvwifYF<{w&Gw^-a!QX#|y0zfH zcEn=GNt=0ko?`Y7-D8Uayom!L*-U(S72s`}2wnBGsfrm#xhnOA>ML!tp!}RaCGUY| zclEMLaZ6AdQEtPbTLfo{W3?bX+#%h=z_^!1=}fKDD>ObucKNZNQL?B$OZV~k#Y>B@ zUKq7#;FgSLggiMKfPF%8@k+6L5qCA=jc~v(P}X4zm5L#cc`gxNlbwBxN*RZ>vM8>R z2z*@!`1o`GKEe&Zc>e|djCLyOyRzPv9~;AdCtsU59F%)`2c98n+688^3c;1|CM68UWIp9^^1X%o5AVP7N{`pN`bd5&z!D?B-n&5+K&>B}dJ97_xz zBhCwG3zNbey>3~2nwNTpdCEyny6|GVMxwSns{QIfO<}j_jwy^4IKbNZ4v_g|ztanP zY8-yY8hd^8zdSSteR1c#Yl!&;{Kz_*=N#TEA)I9NQg{dWvM#k}%JGsIb>^S#X_lX7 zm-1cw38YqT=|GWKE$$B7Url~}R&$N{R3g&B`@=wfKnoP{x_~cHcgW|FWXLe)Wa^7M zR6BOsgGpt9bf5wvnPe>KIwW0l#nUO{q>o^1>EQMDNxpE=vNGLi>Q3V~VVyo0B0)*WnX%Hn6B(Wr$yXtE7 zubx3wBb)qe@TN4zjYesea(HW{7MEp~egpba#aXn~Vu{+u>ugy;Ty1Sz!L9GD=gn)! zC$Ib1p|`^hFynF`%r~r19{xVYqaylSdg0*(k5l^X{BQkl_-*{$<@i1JJfZK2NN@g6 z*xRNCK100 z9u%ZTwd4K?k8Gl~JpPQQn)s~;dOtvZfO-Tm>tEI-5R6VK{PJW3VRs={+laIkQgwBN z7ouOBMncI5R@Vq4+2ANbR#rlb+oRk}+%1cY3{nEybL1%mygCbL@#|xNKzDREIGWZ4NAYWB5mW zxCi@oi?HsF!eXHv)3hd5_st!f-YS0PrS8H{O!)_3mO{%UMQl)Wrh4L?1kWVG9a`=# zbb52)cNxMNXn{DCnQNsZ`Dtemhp=}uC78B*!{)bOZ+g9=b_gS;IjgGc?yB?{_2Qj) z3Te*lBGLC+yTNMNb4H`)&lb)df9ohB!9B4f1z?i70yjad^!S1|VbUzYq?vF@ zJ^B#&V$&>#UG9@fhU61CE%02yJGTiKgF$sScF}0>ygT5T_jO0N6}NX%s%;fA-%Sp^ za8IUI*hReQAB{~Aj3oS6+85AyJEw;}6mO>9wNMfgTc0yJV^doJ)@xS(GVM*bpJiIC zFdK}4)=}~qf)-xcswp)O{q*muUQX5RYrWf7|H!TQtKYX0Q6DozrJDDt>&4ld`HPyz zH}fZZE@Nn$sY`%JSX1)eF47FAFsBH!8hnPvyYp(+>5`tyBe@GIO68uMOO29v=;`yq`gAKQ0gpub-O4f<~qsT1U%R5#us#S2Ezy_g> z%m#rC0z0G@5<3KTa8(5DKh%&l5&lEg4j(r8mYp}_5_+&2XRJ(cJrlKl{s0fH9}H}s@X^bE@6Y?Jkj zejaPf($?7{M$mXygQX6GHCk-L0PnQGdAH-N`=CbCB`tS4rk$bPFaBUfC~xT)WHKAU zPekG6LW}-#^v{mR+|6*G-KuS^_g*(<+1lWfR0dtxxw9cwy(zq6xZhGH$!G$Htmg9o zUL({ieMC2FzAR>18v!iXArVPJ;!Q}c$1^`+?&61c%e(QpmUgE<$Pl`l1P`Fheemw0DzDhU(>%>YeLtG{l z6-7fB6alMlSww65fmE$MOiB7tybZQWS85A%NJ`N1xh2Zw>cEtzoFp#I0?Ke!JH)%_ zd&ukozqrWJ*Y|mu?)`P34^IKACLzw>9+aeyUU*ulyVp!uYy|jWTGN4uDj{tBEv_Jjq*8A`h6+!kg2I;nPil&21ye| z!u1D~K}tL*64oehQ1{T%AR>28qO$axsu%5RoJD5meK*4{oVb}|Se3;Dd&#fj`| zuA7ZD<6l3hSz+$*VeYy zo9$kAf4Wf4tu`D#=iJR(SAP7A{3m}jFB@=GQ(IT}LwvpZ-ZiTFd8T>i^$lPr!<0eA z!#u%WDnH|7ei;VqE*Y*)z(Nuem_j-}A}R;(_|BCLHHxKl5I7FnsDyQLvq4;S8fI$` zaa2ZVYqNmArOPUf?=ZWnjMadT;xMi-8os3m3gRBJSxSp6ChaeVH(kYr2uhUC5TcxO zZzL3WGj?3LNfcl=-X+K7c+tw+jYUYyDzDXKl(CJte#ZI|d*QOS7}@+>4Tkv>Uf^Q{ zEI+sJ%Y9ys43~7U@Rec9W`fU$#PgJXh9h`S@Xy=FzQ0cv_pQF#6pD+G+pr_3VL)S6RCuzucpfZbYzu?~z5rQs<-q1z zN^{dJbKH!Se+c{#jB%7??ny{<r@OsyjPO)Rnzh5bfoE;%jdC6aI~xaU;hz4esPr3BHhA zlPi$qRFkG88MQ&F^`@*>rmnqpKAOVT^HKYg55)t8{xJ8Cq4QR|?|0Ve0(xGo7o2B# zg^)R-@Ju`<=~Xz(d5mfz%|sKLJLb{JV9QgYDd(q!27jP@U6XSL+msqn>3O0Tg(-#a zvb4gx6Z;lsWy~fwULAAYtELUSrzy>Q6&;d3kwsVqP-FnEgik^cC;Q;# zl!&!G0uE{jW0HeTgn4G1B@ryqiRwsiH2ZXiOeBYdSAuxT`O$M@>}SpQ%RV@yfA#v{ zOFF4+LSmH&5Y8695!gNV4i%PTn}dQ9TA02HZK| z?!a+?4mfEzP$Z8GVP_esC2^93I+ZF(P~TUaLXB_VxZ||-Um6$P4z;1Cl;Z>;lQ^iK{ zo2P?bc0_qi_O9R|?ew0 zT5|F&T>b&q`z!bYUC@fX6WF=BsWT@3^CaXZ?smFv*^LMPS3f5A$J=SDS@Tbw)&%XG zLD0ksiOHdU5M>G=7?V}=QTc>ng#f3}J_|=@@Yol}hM!`RAahmBZa}wCfyj&oR=h<* z*cn3Ua<$A~!R`1f_=#cVX*mJv$Tu4^u$Dlk{RYB_XV^pwTJ^N=Cv$%mXdl; zLZ@%{$ON-+2g{`w>qPz(9gTrmpme{3xxkT~!UAbgM# zfTd{ez5+S{mle!;!CMERIw7<_z|J1?h*;$HF-SFB8ymGG6>3!?rk%>*I^8_iZii~? zP4s6utMEv-52T>8n^-Yp%3KtVyI0+?bVg=ehXzUO6|BrONCo|aM-hm|-WZOXxvAx2 z6(wUH69Kys$2si0Gzp`$*J;8p-rvKwgUg`^G$6k+S(;)~WiRZB{`+WDL1-F(TD_hx zSZ<~RdNB6GOcfhqKRTO`7}6HQBy3~52=J%Fpomm&>*qiDKV#pI<6J)RD80v`OWW;s zeQ8v)bG@fy->-V`4c~|MhudnmxL#>dZ^WF7JUZU+(sSnKLF}c_dyn&9e)c`W|gD5+KiV}{bq3%|n<<`KrzP$zH4gYel-;Q$JRrl|P_1^bk z;?6DJx8zGQe_!r5P(H-J1?=17ryj*y##Yz${fqtW*J5OPKF81WM78eE6nUK)|1ZWD zWPhn_Ky?tylR9--SW8BYm#Xqk4PWh#EUFm`jRHGu>G3AlHKeUVS4B_h1cuypRY7F; z!MsRGRTf*^oHk$Fi8Ib|gcPeBv5H_(sjL;d!5tW#I8w+jv~h%z2cY1$TOfa_K`5nB zCS2<|Y9g}lEC{C<#Qllv-}-&mHub%m5QA)>J+rvn02GG&NM;DaO`@*LWA)6Z2)<(% zu5_7pq3@_HrQZU-k_QU&7Jzz4&mz1vtX5D`Fg6BGF8{RdyNz{?m&Yq>j}e^L>d&p; z+#boaLw{4;fN8aDSUg>0^D4ILhzAJ-Qz9}8Y77aLzjMxz%TRNIfm73^1s(%JDF9fP17&^e>)QujTeQ5{q=1OjY^blmY*R-pIl z1pbi{0~68`IvH(87BzAd;6zNBPM*HG27rMJEv<~*Kpp~kg4E|yy*iaD>ctfK3a^E} zCBfcNd&JjjHx9F7pbGghoT6!!6vjA0Mtnj=1j<+kp+0%&BqI-?s}wRJL+BOCQjlYi zDtKe*wLF3(JfRngO3={02(@m4j^Wo&Z$-HT#A!JH2Fh2F%n>A#AWB|>Fv3(%+_n5k zk&D$XclvqGjEmO^JBvFDAkY0DI6`h#;Bgh9Bc?-{@*eRrFLh51@{4Php%*v&p-r$y1~Xuc zv?~ybKaCzBPc#u|t2Z-tw8n7(m?*l`DG;)gov@Hs)LP2*3 zrLI|R2vD$95Q58HHyzD#3|8HF-e%(J&8Iouv#-A5MmxTq<0`j^npoUz_?b|D(4r&n z1R3iolH?!y?51$_llh~^in9n$=ZY-f=@xfB$>L7DI5xYt-IJ%u(L;^)n^=93cP_Rr z_Q<dlSp=zZP(KXz41S@Sg6xQ@4pe~v?Fkq#;1Q8UDhaMl;CadO79_A{ z0GhIokrd(`;NemaySX!3XoESL&P1sZaL6jdOg)mscBJK4h9Yy+6d53K6bwgrhceE- z7BgslDA(($>Zn9ZMUQczoTv~>p*qQ;+g(#@YUxSZLz_LpxWF7B3Qqav`}e3jj@dD1 zBO-)Z6G@q&TIhz00R00}97_Q0z~2%VDVP|4$GG45PumOD6p_xs(bZ1t(eX9jXYu{^ z8k>;Qr@LN3KQO%zd&1nVv;94!E=RZC#oxEw-5#@cAXz_|mTROVATDbZQ5C|Jfn}AF zgJB?-L9D)Ee@Ok5kTGkmS;_sQ60=^wxD%q#r71?6qM;ja3uCI{skxedum|S=&rP-PR5m|A8Hj8zg$S2|n07Jx%l3f#DIeo8f$3`S z9$CP2XsPL$-4E`-V=tRyhem0#+6)JNwnbGO566tH^rcGuG=85L7j?DVxcndG$JkuD zmDvB4*S+zbyqo4*+VJ#A9Q(`K1fB4RCsGBuRSQX#h{8(fO$4HvC=7xuBuWWL6uuBb zRuQE`exOBWAweB?q1p+WK(Rn^a0E{Zh{y>hW`b{EwfVjLz1+^Yv2FOs0SE-YmSCg5 zwP3V`bMJIv7a&U%D2J)ZI*Cgi^{n4j;&O}rha4SMJn<&{9lme2-3NB}7Vwrm=vBp{ zb@6YH43d;etrEZDZy3Y9Rs;=l zUYQ<%uqh7L2DDT(kuDjiS8lskPZgIMs`Qw8=4xqGEq*s}_*ha_c`p8)2&FTxFo+cx z7=+szB-?tq<+k!z8teyb1vGt=EW`-%AK8hcy0dv&+E(Qu?c@6;wwT<8`ck`*x%KjS ztNwc3Cn>BsLdYor2B(!po?2#tb%6>>Z`W*b(Mb{=iqeiiSD;;_MkB ziDWt%DNTwN%ZLn@QsfGv9hEL2+niS0Us?3qoQPYndkNq(`tex|DW{rCTpk7}n( zePi}p+7rB2_IdT0RU4pvGTXeZ4Y%5fmFyo)Et&L&RFBvanNin86Rok63ga;cNv^z7*idQeOeM9D=u!aHk7GFyX@QgBLW-59{fe;2Nm3)%vMO@c-gQMRhmR`L zlz-j+;-0kVJ&P&`XZk@XU|+D(RJr>qDiZEsv29n~&MEv9lh0A@p}*=yNm7=sf@g-Y zjaG<5v|(!zaFE8}D155R5rO{~WA_v!O8}^OzHQsKZJxGm+qP}nwr!lYZQFLA_V&HA zyE8j;Cw3kxDxzMp>ZKwwzs&zHnr5L3B}07My?T4-ktyT^c8NcaWI3{=S}EcEo{J+S zuBH5>PlIRWL10z0UZGw;NgmgM0NgKz&rzg)!R7Cvz=Nc$I(Q~k*4CXAbL2c zI{*=4w%hu)f_XULMS&ir`(**ua&IoNX7XfU^p}~N&+pHJ1_fPKE~k2hdm=Ox7sNll zJ+V9DpZx(H5|r#!5N-5h|xFlP9WfL}KFH=SD;+LuyXfCR;m{JqsmF zZs!Q(0$u*`+d7F0t{RBhH`#Axfb7Z!{`mVO;rWre{a*0II2f=fuGFT63*kZ|3>fq4bxh*>T}>ql``O+_~4`U!a*O-8|+e z!yNk?!~rFe;egO(4Av=pwo|fc&HB8=E-Tm6;fTtFv5G0+@~kMfQZ%Kkh>Jqo>>a01 z?fi)O>2KD{DCUxAQFU>-AZ4G{S;|~Vz0?=qg(Jq(D5PQj_awszfw+>}yYt4LEAq*o zf8XUzzNl_6%!iK<>+n2q2oMoINv+>TcBTUN*;iJv*T@??oHiwH*Llz9uKasXsJd+( zhtJ$r#OzFvAc+0hdas}4510kH;|U zsLA4dpDu%LID5JjP83g+QJpFcUME#IWjFW9T{=!xFS>-I6>CUj((G^^v)r&;hN4vW zur|J)oiEzYR5JBCf{(m+yhaiEG?!|bT&x^Z)-#z?%(tg^)wk)V+Lg|i{uZ=x>7>It zOhf!l9JNEzITF+qoMwT!qXhyj?04KnWx#Jbaqx9J=hoY;_wmg-&xdbwE#gs)oP#7y zPtg$tYYd(g27+-4bO{N|<@dtXQ2B^l)q|2R7zzjq6(|c>a}EZGAQAyEBkYDGGHR87 z?d4o63Tr)z#YCeug4wN`Yt^;&uGg+xp380z|Lg}3ukV6igto|;{NGrCX%yUZQoP7? zE6ThPfuX+6GSnIYuX#piG#w$=Cs-RWOJl5g(pmfO(Imbj=54;g)hV)h)`SMXOPAFnf3Lp2vqN3bI6l@K$rua;OZUsuAt$}8MBtMlterT&8=7~MIAb*9 zo)+&K^#mnAUuzVzW0s@bqutqkT9*vMEDtKvS=G!vxex^n4ZH&8rA(7nO&%=}4O_yuWcgW22?F9qiWbMT`pCF*7^wR{_*Jefoq12X~6MeG4&mtv%3v-SBq;WF)!`e%j3s*O=w(l?|QicNB#RM;t? z*Qes)k;4~c7keNRHWX13E@(kOch!B_aNBaTMQ&w!`E_w|{272<8}OD?U|kF0xTdUD zW}K>E2>T~%r}kG!wK9AZ_>Q;UXxmO=ItWP1 zR5k)W8bnS`^)%&caZsSIxp_8QI07Lhc3a#|ACED)2zx(4{TC&5HGJ-&k^C}cqd)Ep z9S>&*F-B{b_G@UGJPw^6TOyaAK%SIxe&*cczGFEEy#jd+Q)v4PTmrZaxQ21|;K7S$ zAj6>XX|%#`)<`W4TIIN{xHx9{=QI`fh+O@%rCR??KDD0ceDSvj@r(G2ex{;SoLT?o z@lEU&^PljSXyhJY1e9Dw3n;l_14?g;+Rud(lbjM7^g;XyuJ_P)i-vWlhRo3-AUIKb z$5^~(O*e)6ohpHeTp)D_$HuMD^;50U81A6f8=bo$@+%F@456^_111}$P!s;e#(ewz zbs0z?&5<_&1&e8*GU7i!)CSXoB#)Z)(c<3T-X7Yppcp*8L;qsdfd*p67nw_RW{r+5 zr7xpTKt9s%gxJn0&yAl;YKFa>9vQDYuXutXN}~|kKB2bm!)p#%5=i1>UrT=t@!lO) zv4q`7{DiY{`Cj>SYyJvI3IO~v-6P)aXDC!NVQKNFd?0IaIZ}NfaSG_@=cvWXn>40S zWt&!^8JYU0Ol*3BG9UqsX=Ny9WL!-c>`7lHZ~MW!gC^cD$MZJDq#51Z{*+PZwUEL~N zLKqJF5%zc21MUw4vo*deyw@nETT9o*W-&_z?00d|V*d)2ie*ZkrkU31mg(k&w-$Fz zwjy|P6cxFK!UC){Jq4Z+75aTN8XL`}Gv)!QFfz}OyaQw~q!c9b3gWRBp=ugHfkiv& zeFMa7Aw>eheF#Pl{2kiddbt>Mv)KSUJbUj_cf!9jaU8B)b4!RqHb$(tpy?%PHzeZR#*1~a=!PE{U_q$SnZ$4Pp|a>kqwQ=W%9Lcba{aYBO3S$<{1RueY?kR9(+k%O>z{TGzR>5icKaV4N4|(r;nfHC5 z3DkIm5xxxlP70>9kmbc zIz>1AAPwg;pRpE5c9$M8W$#q&Xz5N^nFzJ-G!oeKd>z>$Q`9d|)x?XB*Xge~D=fk) z*CM#fP#CJSl~EWSl44%MYpys072^#0h=$tGtD)FGdT7dju5B|0kQP$xPm?GRb@OzS zZ6TKq&XjMXg|dHGaC zn=|$phFHviO!j;-ahi%I&u{bLtAqPzR|<#I*I+j-9{T=i`e`pT$7vp3cbCO#<@XQ! zRS1v=K(`j@%T$9jCbxjtaVVvj{lmufy)y5ql5U}>oNoM@#CSXgBIC*4wah;iIthq! zPv8#5kyC}Gg6R3Lvl_HK$|>&d?dI#w&Gt>tEx`US_XLc37fXTaRF;blTjVcH!~$YT z{Kpz{4Qo+CrBpEwvtpb8M4=){d11|xu{7I4tW?5^>s;D~%eB-ZCW8%gN*br7rW}^$ z>lQCxw$!Pqt!o{XxUsFq+XGv6)$YPp8qTTJKsEO7yze`yqqqQ%lpP3DZZqq_58Vu*fR<>cye zSvhIEP{drud$6^dS7VJ%@|v`(WCn=}JYbb5N&!S{j6*XvElIC!ne+0&ahZeGmdx$b~8FYm|@0E^sA!L zr)ZPkoJnXd2|z41m-JR+3zya-TSykPRun*6I2io(%apwyrNEjqu$QEuU*O3UV52j~ ztlBhGDEj`*=TD~#U}AobdWMBd*omdc}~7uzyoJ@4=|>9xRJxXw8lbjLTI2IqtRI!sCL7{UqY(Xu+} zPxj^`m$8b`WQ=Ueg#cI-^K;HM&>9@p^H@f{LiX41cWmGkjdyj~=R{*IVf><5IbYY` zu7UC}4$H<+B+ zqs*tQFM{nH$siJo2vF2;gwzoE-7FYPkTf$5sXiLV;?=MKh2&fNdHc;MBJ*fcu?cZu zv;2nQ83P;aDD_xb93lQQTj5g#J$~5|J%1q7br2LQ)_1@^w@8Ar+U%5M42$Z9ZFc&J zM5c3nmfj3bT5W`#Q+@^)V07tmJln2MJT*RM znWLqTL2rO!zZ``vFo9>(0nMNqE87EWyHoB*ZGhQ_3-S3VIbA z&N)QqSo5bpS-~x?2q25#<>dv#lteH;w*D>tA;Rc~Xhp`!QJzKpAiDiEcVvNva2hDJ z`&k1y`-l6h=}A{|Lrzni_tO6q|0UI@K%j?I?L|TFR~eAuyqbv`*>79;N;CmRKAT}S zGt$%pCh=0Js-n;mGb=5FnDb^;Z=|^USR@7J28m+zkGD_f6_}a~^qev&D3MJBd)XZa z1hAs4G6JddgC4jpOdj^(DiAnFx0>WX{0ZW`%PN4^(4(7Xt zBfMZd^z>TT!CMc@K}~t6ZE4$rae_}z%kYM68ORQqX;iybHj;yMHA(|VVB7E@4fL0c zq39U7dj|c%( z6h(`hQ{mIgX9@qZonZ9v+$__Oy1ySXz6lE1m<8T2@>SC-r&miZP_7GE&f0fua-%Mc zH(ED!%qf$BMNYHAMZ?pE+)1ghs|5p|WOBouq<(4!bUl4mm3Sb#Je4XRU94Z1wbLaldS@^XYlJUhOsIIMr-DAdW^H zlE6aN2#QrN_*YUW!$C2sNGS!|O9m(|iQ0lnehXBZCtR%AUJHvrADm4Gde>x4p+-!VO}`c;OR|{PWY#@Zi>AD^ zdQof3z2LC&YdR$T2#F1u`V-{=mg~}+oUnaFGhhx5B$q`@N_1ve%2T`& zfv{iS6MbtxJv0*#UQqA$YcdHoO}zBIR)6cfWFuXpvUZBS1B&j-M6%cK-3QUg%5~#uU{}9*&b{~ zfDA#@4yfGEj3(9%$lWM-K%rBVv>~`XtSz@8E4R*#y+A^Q!4iGcD$)|k@3@iPN~`MD zT{h`Ea>r$PAMX!&X}hy3->?i|8S-6i9;p9eehc3*q&P3j`k%kagg$@m6x|6)Ge#a!hJXVwV_ zoO0JH$?}=a&#JTBkd-6E5J`i>r%8{hk$DZ%svlRZQh5w=8hY)%W;B~n3`1&?myHyt z&t-Mm#mGd>z!AuAgtFU(t1nV;4_QOHbn&3-KA_O|Q4!JYbVRTa&ugf+nDVn*KGV5~ z%r#&vic9L+>S&30T}ABdtar2A&+dKVP+eY@l=c>`B#-adA7Wr9aeH2GH@<;BU5|V4 z)pAGvd7~?wEV4v>?uF$(3LHr#I7Ln^6?2imiinoXkLi(4tMMULjzYH4MlrLRn%HDP z_`{6&q#}e-t$h9%K+@bH@ACv-O`rGx_j?(; zS9=j`e3Q30G6pA^#rHUStjkWKQ%0g5z2UaEM6Jy)?sK^q3*w8qTq@{qO3B{TnG043 zfrJPGI(+Ae?M;{H2ntD~C~w4ruon^=CKEA9>);XUd}?zBw(^>evXemNP;ibSd1hNE zKp)HJlTn9FMB_*g{h`a@1ceF?kmR6D3AM+53`9f2?k<<*SmrcJ1fiPIm`9N#!EyrK zwr2B^o-HmtY&Xz70GAJ@k>JghEh&_hdICr}H>m)J+`yzaenJ!{3?7STsWr4E6>&U9 zHfoz(tC$%7>WcNbp#Md5lmumqMEd0Jq`2c?rIska7vf_%zkt7h8BqwLQU>R~U-FB< z2LFaSgBG>Dm94rBcXbw*YD!~X1mI#Q30c0j8X0pckk(RG2Mm>vVJT=&8_Mt)V$64E zt7$zIYAcH!A-ag>Drm@8J6Affhsu{J7f7EjnG?{(P@_pXZZc?!$F@@I(2Q=zTpJ6l zkB5%iTC_10UK^B+qwv;9H&FU+q?4JQH#?^0950T*ItJ+~)iz*%W;#S|6;@49bq%Y< zbRE%c%iow|U(xL{bS9Tvc;Q)L(9F?bwJPhp@Y3-d?ywT^s1VpY$`_BOh~T)u%lJeA z`$ubNiy@v~Dq)j%lJn?@AgnS3rLQ>`K!OxP@jSWt?xS<5C`v6ic%(4nyn5g#MI;QA z83&0Az-sJwjsRH-ETV)cCg6jO3KMp7t3yc&N=NpMVuDCO8TkgD{d*0E=?_66nXXFf zt8qYO=WIPEV`JYwGA&F6DQ^8L=@f;8f5Q(J8)_pt@FP6|tq5p~+h2nW7x)IR1K&q$6@q7^_SF4XaEt=w^hBX+xjGPB%a3Gs&6%hZOeeFzlSeFFkip=?=s% zH+PZl(dvopCq9d5nPudVMTFa(p7!2g!aDOP$eW*kMz1vL3Aa};BeW_fjtoRsJFg9w zvDUp6krLn-3pFcT$iLp7hUk7|rS^{s7~}Jw`<1}#lyp)FX$6-aUk@2@#%G-FYO@GK z#KQ8(KyB8(blGIm^P%jGN&CB}z6RhE52xW|8I9~zPZtNS&d~iove`tu!HGscf`Jm% zpU<1)4fY;`c?maIorM{yt;df^Z|CH-vUXBSW(1BY5K2-{s~%8Jnl$!sVh;+Q$>ij6 zfebx+x76V}tb5}VPIrA-e*=3`Fx@*J9-d7qL=vgl3t9%){NTN)qJX#qQ$EfKx0W$b z&j>>Xw5hcaiqLJWsn*oFnkl>@jQ1rP2$|3`s2$4cSOUr`^s($G})Ct)2c4oPGWx4%jssid24b+W!+-A4HLJ=Pi8lr+5o2zsq0`7 z2=L2k%`)wR`7)9Ik;0LK$&sE9<1sXAbhMjC-qpiK$=A!HTgb_G!-YJcu*6r4>Vw-D z++!+fV??Lx_a;0kC&|D~g)~@6eqe4@{~Tz6j307c%(YV(9BM6&Jgjymf3s+BP%1uK z1x)rb%PD>O)Acq89CsiblCTATQEyvdKlFXCC2de3h5Q!|`Bg*vVknM@`_PY1C3jqi z9$+lid<$Ij3}grppa1~^g#Y&qlt3uZ)|R3(u`(RCw6w2tn%>Qe>IEg+@<2=`zZDLm z5Rfn*ahkTqrZ3`;G`#1B?6VlSEU_yaABQvC;OTGk5S>n!$?wIF5jwYFxg8DKNm*t& z7|yu}{R^WHbBHlofrK$=Gkw-HKwFvu9hq_j=Gc(T9{Jpwt?T`iS`U(0Nt#$$`uJ3F z&zSmH?dZtF96O~{ZA)*~6y5H+_}u0zJXpO|HGJmzy_98g#I! zLgEpylyu_gi6EM9NvR~Gn?!Mo$Y825&$zSJ0L!f+soM(gho0yuTHUH4)U|eH0*1pr zn$w?lq>}2X!`&jnO&L1n2Gvt~obJ2Z{BLSOQYhU`l!r>*Nzg^Z*qh~;Ua1{VdyBn^ z+Xwq{)k$GqUF+@Y2m5UrIy)QNUvAk-yiQLaN9G>{eSp5ZZk+!rM8)#o6HT!6${zM6 z1pire`j5PnqlLY*o#SujN$|g=rZ_nNBRuuLgV)@@eFTas0M&{qf69*^f|5~6D zlN6>_v#>QY{(U*oDw>$NSR4GuasSW27uNqGJoO)+{hx%V*qDB)8+vIITQg_#-*3pk z!pZhOb*Hv|FPti=VexqYNqAt+wMg9qh3BGDm1h%@GxthAUzU**1 z-M-Df{+x3E5dXmH0|2<^!_)&vD;!!NJ9X6&O8^7-@{Rm~@_ZV7`z4S%S|<-oY_{p<3;wD#|4O%L@t=+>?TkH7FZ)RCY}if5d!HZ1pp~@xoaGk zoE}I*S1ow622f8y>r%+`CDsA$8+#Q0$yec@>|bysj{i0d4ud1#muHL11QTGu-cQi! zJL@?oN7xdR!W`dn_ce#IAnteImG zM@;KbE10DIS|tOGbo+P`eII=d0E|^H>Hxs_J~$eG02HjcId-tT*3lOS*xdzB=5E7o z`LhllnnM+%oJlX96GOHF#F-~#WmY^LcZ)?eJ@HI6`dVwu`NEanFb}@{34LP8WBf=l zeR>Ct^sP`Gg01i33_3iVC7~>?WHMFZ68@;1_(sCkSqzra*#j2=5Jv2b5__ z@wb$;b4j=HkeA_ro)!hFymFP~!HPN;5~E6H08S%2#B4udrAQe+(!lbFLTkjX?e3`r73ec-!dbGqVS%@@D*PCpC5B;Gp+om#z;` z{OWA7H?=aKJ-^}$_cAW1PM8s~Yfk&&{rj07of`jxd%>68FP@sVf`6lYQ*EP(;As*& z6PC?*dFlO=8`R0YujQg-wZ^Lerl;c}AoabF)ZclQB=*Vic*v*KS;FXaaC{ljzu8QE z3Rcsg%pxPL#aHBDv^8!USAH0CUzI_Vyfj-30(~!er}M~mnqrhTiI)7f|6@yxsr)CRrsEZCA#m?d9fm(@VL_v9wFj*ZylXCs9%MPQwhPE3nC; zb#xB?)0q7RZu)b@X511#>IPA+vAe|bnzPkNW(emik)HnkQO(A7hLwbzRtpQKiKyLj zKM3bF%?{to|Dg>vhNG1K-+-G+*_Gzppz`)-W$Mzz#oVRu;?GZFyC4q~^ffcizfqQV zxe31;i67d?ukZb@5&qtE_MSa5`%xQ|{bocIRo#!QWZmGxdVksTns=+1O*FMKl{|~5 z9811IYF1^Z;ToGb>Rl<`5OSIx??CQe*UfhgrP`fawuzLFe{5G}&kkBeJTu$PaT^z$ z7F=S5G&YMAo3Btw-2bklUS)i`%c^^-ew))6axV=ydJRDZ+xC0d^BcihC0Q=ma-hiQ zyX#z5)2C&Ni86I!)935czvc^hLCqq5ZT3sT+u|WzfT;9K3Ckur#zbHxA04JYnq82Y`4Em5D&zEz{5UkecBEkTbB~BNVB6l zc-RW}bw&-D(xvkbwy-w4aj(5FgsfX+VuZi-N2HVI-goccABj<-B0hld?n#J^U8_>; zv8Fwtl{cL#h+6PcY~=KqeyqOD zYKXyw&Z_>RFOczDIp>B90!Ggb30Y3x4#PivMphBZ<6U-fV|K`255fdw-tGqnQe{df9B(|qxfBxx3)*{d+(DR z9&yoc)_3J+8oa8Gpugl0&5#Jos4a3#JOa`AmF;QItlCMwX$N^`_T$mJR9awLFj>n+ zD4iv06EE?Qu5Fc+8ohlA-3JF_P2iidLbBL#AkK;0Ac9Lc@WT=yg|Ki;N4oZM;_LHs6XvwZ9X9aMzq>?VuBd1vx(BH7`0GS6I8 z%HYSXcQfLhbno_;gzU7KLv7_8g+jXfhu`3w9AsZbPf35#7re$Y;99z#V5C7CcLGnf1`N~r9LxmHO)ThQ4*sDt%dbM)DfnGr}cSE;Rin%-Y4z$ zCT%IA&Q-zWn-POYPYlC(+<;CDM_~v46MX@R5L*gKi(yho4w4R!{YDRIm>J$syD?<7 zlr}}ef+RPYVg2nv08aOS3Xx+AE~p%mI6{&eFeCjbZ#x!X78w9S>K7MRlx<3AM0p$o z8iW}T7o4CAPLA*gmUTBwt4*UR+Yz6KMQkC9tVd#l3MC}l=MhdS1~fzrWusimqV)_4 zF@0!m2>=%0P3iO65k$6Fd7z+X3bIGIMmQ#UfQCpUBIk)|;`V^pfcNGq{ewXq5hr4> zR0Ky!OA=48sHy!75i+pyH{~4k_Z7 zjTCg(uJG5Os*nzvJQ9b;980EV31{m8tyMKE`pRd~N~%>Rr0e!gy!b{I;9;f){z+-l zPAhpQe^kLoU3M5YJMp1~2GIsYjNx1JFR!PAIw1eEt`k521Pz4ctkDbH*iIluQsNJS z2!cAVY6&94`VTd&5Uj$23T?>zSCB{it60OUN!`pwrOEo#+Xf|`>GZB9_tIv!JC(!j zcGKf@JEha2Iti}?iAD}W2e(*BTqyXq=PwVR{;Rg2b{{Qg zuTIc`RS|ip^cDJtSk?rtRxT^{%kK9g7?&^gp;m&*fnyQ8HtA2oP!bz4vhsq*h8&Ub zO~#W3t4Mk}{$d;ufF1Fe@5}K53rDOBdN4QL!BflQ-m;oNLxQPq@LA3}AuW)B#E%274eb7(Yc1{SuO21mp^I3LD(f9Plaf)%s;` zbrDI9!n39D+e1NSPc&7}{{Yb8?8HLgHJ`X3ZHcVXSV*{KV>UG=^Bm+j^+7(H~dM?=i3HFo@ky)U_8z90TYyRwzOZy(p3%UAqJ_}$5jHFWQdTPNL{D}u}0 z?>9@ai*00|4fn$vUTm>BkKm>5s;B!lv)vzT)|=hK?1yTLTh8dItJT!s2iaXo4Gc3K z4c?>dMwvSFIlM<+Gj_v`=xK1eE6cmt=^tf`Z>LbNWhu?RKWJ@#kDGQ;1z4Sou6~mm zGg{40{TVX*tfRd;6zjG*sGGd@L3DnrH7}8M*0OnGFY6f%D=Nojm0g#uD#x#)=XGnK zxr{e-{pbaS-2Bb()oPI6IO62N0Mxc`<3DbsFK3SmE^5GDIeAuwQtaLpl)G0OW@Xrj z#SW6A`;3;HYx@krXL}HbCdA*@ch8ERZ~vrUGg_X&2{n@*6b-bL=lQuCs}5IeUXO`` zD%;22>@|j%qbj&{?UQ0LdJ}woHd`tmcXL{=9w+^xIPvhdgfzNdeEe443yNkgs+L_J z+k(;9!6~?T>0kAxQY$OXW@T?~tIaC8XdrTGSk$<_F`xo~B>o zbe`#GTVI7Vxesuq%q$0#x!O)yy*{-rwyIs%`3>ge?iQbmh;{viaik*070th}&iC8k za!K4>^EH*FGN*aW!Fb5bL-M<%$unc4iG0A`0en@?C~bvJh)nPn2HWx4H}|i>jUw(w z3Zpf<6}*3NQUb5SiZhxM*c_Yz$6ygTrU<5`$>%^lF6YY5$i9K^Q1WXST!CC5n*Dr;*$WkTJmpi72x0DHVyc-1LT0>qEVtc)77Yfa$N<|C`9^* zvLj&E!rA?&xPyuK2$lsVB!C$c*r;M(jJPx~FDFd`QKBIV=P2ssl^WEu#zoD zM5OIOVh1eTxorV(Hyr5q5bsH#`!0c66}UDcdq<5KyZ~~nSzZ%@LDyjn6Oa!Qs2{+p zmg+@8&a#7d#H>V60Qdm(Qu95R{9TK_${||{l?F1;usS2&`?=Ww`sws|utxz707SLJ zrTXzx2IWKC4otV8-g5@GjfvE4M9I|cRvd9Fh{eV^9do^lg=nHtwu+F&!%FsLDTwE9JSix+7A^$v4CAY{B;QJ^GFK4 z>yLnyW2uI8tblMtMgelpdiBBe_fklKOpQ=i_RIxvbR%8dNoV@4z-ZrLcfzpm73xc{ z?LqYh+wOK9^1^)wkieN-=6dZ5Nf}9ktjW2@WE~NR8Z)v<)W&4$@8LXP*fbTHCUP?c zDkxzIA~i*83RV=tD%dWtmZ3jPMP|#s&dj;+tZ(yg=U(;6A%z%gqv4ss<424cL!?QY zpou!u&P{5B>&DjRue4oxwPx9xc(0^pa-H_H0ib5079BIR@!b5o2Deji8X@Y%+ZZHy z=Kza^^J2z!j1acVBzU-CIrps)V5=yw_YOj~h*h;qMYt@`nh%@Ta9uCJF3M=;x}3oy z3sMWDMddUc;pK^E3Zm`>C4=A!dbIKQB+koqE$I&@W>`OxmK4C-y=6zYL1pk2v@%#^ z1Ax;dx5Uu|M6n$}JOlBIj_V!iG6K2gz?5Sj<3W}s;S8+CT3neB)tJ1>cNbujGbx9X z48TVjbC$x!z}JbXk7Bh6Rxpjh;U8XejxTwQI@2682NsPklE-h7wzPK>x;P$@$-8-d zvlrDz8R1@Bi%g2FZFU-48kVNn-J48pbww%c}WbjaqD4&iY1;jB#=Q7+0 zEOw3<@3|6U{E`;&Ig~{0-?KQsz&RUe`QfJ@pZ1m=cb-xtXWI5k5F6%d6~_UyCE;#TO^XwR0~!r1ay;1Smg22X`Y`1WE7>$HUCT&Cz!Dt z#NeZ03m4@s3dav&H8X{bsaPu2Ym=7i7iupn$Qc5!JaZebwh^25xO-%~bdOqahoo6=U)2>6 zwxzK|Mrs|ebe~wfz9&*C$ z`|KFB62(lV5<2l8#4AxU{CFx3U44Q1!vI{O*=BxJx-PA{+-!`Czv=cB5Jy+bw5B(3 zVNLxC9p-ReS;?j$fzwLC^+Xo0=9lr9E#OX|DhPF4E=}3+*k7H=rGzF>O-Frbcnq$H zI4Wo;OoNtP$w>015mKkgF=_ig3Yt$o0IA3Tp#1E844C01b-rr3(vgJH{FpB`HF#j zF6UmEm$*16M)&k9Xh;7>Y75oRKE%!Gsa=UBokcN6yBPdMt&Wo|I{24d7O!W>7yhoq zsM?92w;TOVA>HwLSBQHWt7Hj%+GK}l1HBez@UFLFYIg zOgKslV#!a`lAekZ{H4Wy)y4QK3q_KiWr@DR64;Vl1zTcjN-4F4uXCtNQkUn7nnK&n zk*bR5CCa6)mPPGi8Z{_w!)+qs+0$@B-r^=dTcxMrR+Ge21!53Y5klTxLz5eyQ!j-s z4`T^`QsdKJKK>OLVL?z{Id_>?t4I zN`AIVP=4ys?-M-Rw>ajk)g=`HyZ~`PEwH?y5X9#>&Grxa4SHQ>=8HYDnB&os_McK> zAN4z2@7hp)u=YK^#}2@Hq#40c-MwbR0j`1YckJnOEL?8ZpY%!{!LS6(wo+a#Q00YX zo*t9Q%p`oF>%T4Tq{!7-b_mN3ej$*Q4NCoSp_f{w=k9q8Q(ezlY{iNPa+>^OYt1h& zjgSsK&HaZ^jsgXuxz?e4&mqWk8+*c9tle7jvTIgvMHley)tYW0sZxZGG z&0|sO;G4}Cz-UBjTdDq5BYb68Wq#+d_i~ppo?H*oS=NtQM_hv4+jn7$VQZ6fmiJ+R zd(gYR|7wt7`|s1m|KA|qFaruDo1eoMzu||IV&|WcR$fy?oz*0z&kG z$B*GKHTxW-2jh^>HPP3>;VJD=2?wb|I!^+YkEUaayyu5@qgHo8sjtLP4dFkIc0Rpc9pQd`cmWuN5!`Zx4(groUbh2#)=)65~FGZEj(KUXs z&8>SngWko~O7HsC1V(sf+{-IgAzb*d7A%ewA<HEvS<43dlT{Qi8; zh>=k(Zh%UDiBkdW(*jA$K;;g0BaNQt00hfGRb8Vyi)S8rE=- z^C{6`n{8AfpV~`DJ79?2H{&6IZYhFm_J5i85G+*ZN$7-p1UQ%jU&jc@NRKm7kI~`i zGsi;v#5d-}W#OiG$Lm@RB#>J%NPsBd9(3s6&QGs560W+Hq zFv1x#qB!Nxx$OXvY5?4Y)0Z8Qoh$R2&cL) zvZiY~V&IhVrCS|4d?q--8}@qsn)FJisu(mG`o-!I;YK)zMWTmPyRJExkPuN z_z`I`BM6CWTB66vYGe5eu*4iP72aZtx+1OG zWB)n?|IH8hQ_dN3A5Ox(x}u*c-ek_VdqAZrg>6BvvH-~S$LtIzrwrOT!*(I=iM~_J z`bK7L1H`Y%>==^WNVs^`%`?6v7H80+qhF@ z29!y2Sov=Gdh|aul^VFJ#|v^;&G_G*-2BxBz%_D>Cing{=Nyu0M2mC-O|!T8x^+b} zm6elKqDz2FgG-G|&@*=)0)EykzW0k0ngfa~qWifJr!x-svA{$L5|${SvSbGY;{95F zX~ef>&Oha5)J>k$)Y^%=U;a*=N`ggo^2n?i$t!#g7hjRdbiuLr{7`vp*<=*UL%dT2 zjFEPZ>>^O?fyPM@wrDwmOA-GGoqV}%BLb0>NHn_mc3C{Cjw=?`@ULU#OeDspVd-_; zF%rpsZZ@5rgBnV?$yS1sctP1&Y}jY-5G#ssjR<$KJU^yvh9i!MeQs_K>l6~QaEExm zf+i)|IEQB*k^($CRWq@AjY$=jQ~id~MK{wX^oS~7m{T#+xpH0BZ9BeF1PpSRN%ffo ze6p0Z{cS$slEl(PEQ=1xyi#R8M{T~6Vf>j0q9O9CFYk>#EbAVhYXz!fgolo;lUW3C z_`K*I5OXG|Mq#9HzsSjAkTxpcRL7c+;Kid}wXB@>WZ< zB73>3B|%I4VfrEn8#8rW>g(KOcSNePaV{&o0?Dfs>f?gXb$EK@@f13EhQbL`Tt|B* z`CwjT2QZL_vi&u`zAwb_<$StOnSEZZL2tETZ@Ixr`}BL2`%q68mKq4*Vq+|E-5`7R zF7iV^AIXEAD8cIj?PEe`-`e$vp#+DajirQY)Lo0~SZ4Nym%62-<1F5Gm&^5osp6@u z9f|AJT(3?bZ}0V`gN>oq=$fX;C9PIB8Y(6t9@<8?hWH{`zhDe7@F(`$+q*h#X5!V_ zO}z<+3-O9Yxw_VFFJx}V^e}X78d`Sfj1*?w21e(iRq0>LjEU64?^&kj4wDOLDX0an ze6c_sw>9TO=}wut;(ZNH8hVMgkA|Aq-zQ{tKq|K~C$E=FOi~0f zuA^UPn~pm~k1!TeF7FX>W_=f9=GNN=zS)llvx<+CyQ^c8OJeIGJIypTH4CwqH8|<5 zig_JQ^5;dxH^cuQ|A4@XnV&XS)+AZvs|le+qPY` z%C>FWwrzWrZQC|h*|uF>d+&4O?6`M#pN@{`KN&G+WMt%w_xmw3$1}$GP?iqp;wFFL z$T;+m_C@&s)awX%oea`vj7?6EZpe zGDMtma!NL55?mxzRxM8~og%+`=6e4AHtr*3$iBL0+3q^t7-@UX@toe&K%>5GtBbSx zDw`;lvu4fM-A|pRsz)BV(IYOyhj%!t&3YGYbSha#X_sMlaeY4gN*F30Ou6cm(K0#? z<3fK>;n=$s8jd#XsYTnt*WZVh&*j$tD73*XHaQKBj~Qo$R8iI#XqO_-mi7o&XKX%3V-wSQ4>$(;9(^2X(VFAGr|> z2WGM#(l=_2~O#O0In8F6uCN=t!wWTA(*O1CT5S@1XHh4OWxWQE1=e1T6V;V}7px%hQu zWXK@Ymh))I4cZbeCxDv1fZ6hXKj*j0H>|0$_=4jPwLwS<@EjUNpGeI$`ko;w>(a_w z9J{^k{t!xCDxFMFe=pw&^b;>|Eg>C(u9X3;6OyV4VVyeC1&NMay*( zM8;5(#L{MMRwEgL0aKv5!d26U>B0cwnJQD86_P`F%sZ)mQTGYbPKfV<;*4Jl9*5c# zf-v)ldBeOBTeC3=YHuaXpzWj_mEcM8PEy{{Is)%TqvO3ScS@hijlP&K$ZFt~0QLT4 z{@Z{hex%ifGo*Qlh9CYT2wpiJ7bB;pYx19jM->1u06tY2<#|*s(nWj@IF3{O=nHZ= zaIe3yh6UUS9<0qYDPG8z@;Y(fu*iGD??B&0+RK&CMde}ya)Mt)4JxzHsp!8O)LdKIT$<}ByGd8+tj=Q7No$PX5%pJB zLV4G(dW(I2&FhdvP6wz0@B7`}+1uN&%+4(H_NxQHCUggSYeY9)DyPm}@27OKpz3>5Djifz8`l>}R z!JVb{Q7y&l`Np{bZ#%-{Fh7a)jCuyXiDXeNS3T!RQF>w28g6R$S~mmV^G$e8AJZy7 zQ1)G z=6dor84`5t^C6LNTs8f>O?~8z@U+i+mmTJ~tzp~y1T%TkBlyDUHD_Q+x964eVbF6M zE7}E!#~Z5V9O0#bQKblJp4tpm?{OiE>;P9~FJw+UT@UTu0<(jL@l^T%e-u&fS(}@t zdts@BTO~pwy&mXDcAC~KszW#Kdc!Y<6B3giU;18t_YHbyZVg8x_?m#a5u6xsxI{Oc-7CvtvZD+57cif{4f5S`ZZv!42)pZQ0dnK9f*gm4 zz`DMMjc-s+GfvT=nyV^z3GKY*q*sRVp~4o~!4N7{ti|htGr|n)JTT!Fc3vG}Y(MLC zZnL&iUy9_wR4d}X=cp^Zb-7TtJCe({W)Il9Z3rjVLdeJf4p0FqRv%#)F=##uEE2yh|^Z1&YU2kMz8|uOL9V8-G%kSCk z0iJggZn*8hG+#wN|5eSH=7uRPZPG2&R=&NThpI020J|c0kvr_?-ww1p>8Fw1#Evoy zR;8V>A2mL}Z-y->E8rf*)tprL_3Z+y zN^_Y6a7*(d?VBEx7j3i~I$$S|8=yA+IzabdPQJmh4%M4wRw;~fTa+tvE*zDx!O$L^ zM82|crF0A2hsv0LXa#vYg=Qu&7XM5RV7MwK7SD#3jx63fiJyve%$z`8Sj>aXL5`A9 zQn=-6^}f%^2G$)dSWs0dIki`AMLyaRz`YGMx^Px35r%%mkpeM`O-e=2D~!?M=oG{eynZ3nr?W$Ct3( zd8pSK?#$f}OAVGhjxDeO=IRsuGor5nMq8HZ4I5~SA>Lrr!vyGl_84On(*Lv++~4Er zl53mg+w?2T%cW%_wdWx-%Ae!3`Y-1U-L8Mz1m`#1eh{0PFY9xkhUjnF&;BfP1}z3Q zgs>?^gu>yl*2y}ATeU%=#33%feFOMsTCsP4&TVu05d#D`gddrf@Qb(7p|c0nGeF7o z?~=lywdzr`v5_%j%k(JXQoli=25os23)qq|OFbitGWmK)EVJ9q?4-W?*tnJjKs5m5 z;a&^08{jNpa!9&|dinxs^q0$ybrJHTLc&-DatjKw5i7Pr1OjSg8I)X*QvrQ>tM#2x zAQLGDw@YPT;R3@gJo5}Frr-0_RmMpUGa(ZZoiv4iImmsd-?m`yJ3pEo=&YV9gfW0I zKfo$Rs!OT*u27o#O?D@XNR$%Mq9A zHkmB=J+CkjJT7tZ^O!%xLFl8{YXuaEFH!)?;r zyQu_&QTz?qJN-b8j>4(7&UV7h$$Ga;`gYG&d#V*A+jnjqqRsw1l~dB{h)g5&G>~fG z7Jpj+jBo5MVhlZ4`klVD^l&yYRR&rjZGj)3aqH&zrHYMb+a-75k@|WiHO$`-qq2S#d9#WzSv5qpJP=fJf7$dMU1K1s9DH*< zKs7)WKrHhgXl|nV`HnJ7YkiAf}H`Q(3G~7D$caaus=~0_}Ox0lx#h0yYA)0?I*^ zAvDN-eiTZ{mE|EOI(QJEOM?`K>oFrlkp|2O(P#V;LFzLj{D0n5Q6tD5dqD+~XNkS` zTQCjaMR5vF_JafQSnM##zS5_Bk=|jahY$k5nFYu#s~fB@VGU?L>hxj3Y0>nE-+tIj zU5&(ZqpQ~GE%ZUfK)qn3RmmUM#f;R}1z`^q2*y7LQ7 z*hiRm7cdNPfh;#(@7o5}1!VhawGq%myJ4IKfB11QBqAPLzriGDg`Uosg=mnIxKQqr z?YQg*xvEfJAVIjY)k$8Plq~mskNo}N7a&eR5$hES=CP$6Sx1qN-3#XMU%1_%KRPPE z5JIL5p8b6yalqDcVU_}QWKVPiYG%iU$}978Z80)jzeJ zVj(fd&b;xJ-B#mZyi12A&3Muij`FKWFpn_{B=6N9J!x!<)E~KM=%(n(;2sDbsd#E; zNgk`eLf(YQ>Eu=NeQ?`~w{El*ztJt^zv)3qsN_|PtIK*qy%>6NvX<-C%)X+xioPU9 zOv3Uo9+A*Jv~pG922hH*{y01e=;q{zTmxPTI`@1zIx7fzi%Xxkw^JpQ^i{S4FYv!G zS{O=NASU*xrMYF|s=PC}=VF+uM2EJDg25#%m3MV>ouLlSV!R4PpJ^^i$8(kI;>lqZ z@0=90H%#i7Tu&a9rDU>5q zMHnbnM*M*QZqUMY!UT~Mo%{Ye54?erW;C5b)2Jkd?rAT1hB zt>PGCsvWRuIeJqpBkne+9=JU6j{%VisMaFTQ55Ywgj^B7|6L+sqlm@`!8xN|;E;XB zG2yIYafVvb3H%wUL$`ttp1YSp!RId0AhkdYpp1{Ne}hj*>Y3Y@KTL zki9ecI;uXS%G8oB9xKH+A;E5({D~|Ik&pH(jqKtip9Tp%&O35G9J!^Nl}58nKTrxx z3Qp52C$TBDGAL&sS7J^}<-{U}ZDfk}!o8sadkQ6(c4myGdrk5|D}TcONMiE6GnSr* z2Pwy=dAF_n`;s8Xzs%?Mm;&G`)_ziICT-?{pYO{=Y<^ZWL1cxhV+76Ey;m>slcG_0 zd5s!%tJ$n2@cFT%7)sXdXcd~Y-=a<$S{+z$yf==Ho)`)`9Y`>v*Uq15V+&f9ZJ=w) z&YWpu)$!IKXJ+cw%O+*Lp_P|SF{Cnpph&NE7Q@CdgxP=B#blHYz1lehB=GccG>=8+ zh4p)d@U}O{U4b}C*2-nlPiUo%K3m69N0a7W?YDdoT56e;2d&scf%LTGw*jt#QI{FP zQ2iqz2}?xPNr4f=MXIg-w%7W7scFZ)&rB@tV;s8Gh#+#NhIexJI6fq{??L`b{aqYN zJYLvJyFrfcRE4gFuSIk`X@)kb4|c{A3<^UmnlOFO+jV8vI-J3EvJ)5KmY8Lba0rp` z(Bb%SOoDY0*@rL9JK;+#qwo_NsP>n0AOB789$=4E;>CH5DD{?@r=X}^p1x+BFzIN{ z-Q1b}3hZ-rubE-HIlBYl$HdL)-Tji|ZW}3)L(^NiCCNug@%8dbN@{Wn@_JV{m@odS zno1E8m2(BI#;!b%`3ynqQeq28+JbtC>KLp<=qYh_A=RS9eF~?_ZsVCpcuCI?jw4(f z%~faPvmuF{b|EGsX>qbp_|a^qM#XR=;iZz$rRyv|R3C(WnAm`k|3|P_wD7njOr_K4 zPXhA_PQr=+j=KlxN)|d(s@vY^+iSnK%*-+> zH~P=Bl<1{u?^ryW&F6hxxzn}i_7S*p&DE<-!TbzY8!OMx+f?6ge;X@I-#YW3P^-(k zm?mpJ_dC9b>fGf#Q<4gs!fFDNJbgXaM)N@!Ss0z@S?C`a8yMW^jTqP%5$KE< zh!_s&PJRWi{G7pkiTNPZ31e}S@Pl#Vano{;2P8ns3B{=?_k^!vB18@?t!4fD?q4HNy3oXWsR z|D&lgGW{P;x8Jgoa#Tv@*2a!9#;yvs*7`Qo|D&$@4^dZ5%-G!2%<1P8|B`Y4m%_^N zv!j3y!^?{gV{Bve4_%ds`5$}#ZxmJrdNziC_r7tkF|z+35-WsUk}Bd?`}X$?yd1aO zaAqH%5(pgeo_`o4ksJIqB>IXme@rR42(zAefc*+o;V`)lgL)zh<{Z5n-k1cpN?{%K ze))-ph^uNL115`n*{}QN^gqoB+108`*PowT@9ppBKEOb;=tXkqEDl!BX_Iy475)g3 z#*amnUaoz+tu&T?`E>v&CQ}rRmdBx%hwCi88cB+AnX*W*H9#N3fJc8f%!fFrT=BLb zo!+3$e7Nb>d0vGgmwX&_qAyOf$)KVoDr*4!^%>zNCg`Xwnpq8-Cl!s{il;^$i0o$+ z^K{E5pAR}BAwR0;8UN;zJw2UXeO##D;&cOqWFvBCLYhocF7l0`L9Z|0bnP@<1njYn zjrh4V`F%4uw&h{^!(&`7N;LvKNMpEShPb9xGnMr3PAz;ZK-7Cq)$FJ0vN!80{5wMe=}+Ws{2JC(xD?w^6_tKM*RP|#wgXhFYtUHPIe_>KF#GzGW!_4!*1lLE(-C!58uaVR5SQ{YL8J#C1=LVXG5zxaW=8qx=fgU>uFjn3KQi zQ&rBp?KWSSjl@LvyFw?PqwFW7M&%&ql8MXaRHUQ)BZ)mK?S|RYhw{;-@nie$iMDl4 z*eZ?{pS5DTcMI5705>akU&9R5t8bgcbY#8<` zWjo~r5o;Vk2*xGsA`Tcsr&KF83^Y2E%u3F9#o$xaJd?DYCDf3ZFo#KAV0%bHyW{At z9$z9GFOxUzT+P{S z8zd3ygem-D4v8?sohm_jKx^-(;0`vm^Cw)=;ZP!LTK&a98FfFb>{zXS6n#^CZez9+ z-BX+2vm=A_O5|{m(ne^E7%JgK`j?ZUvWv>fC*artOEL$zlq6Vz%pp7~wX$T6*g+9D zc~(?OK=l-m?NDVSUiHS}E3D_pc1h~7dacx@0&3jSjHx#Y0mG&^vIphJaKdc@@m$Zc z*tud`^)ddjF?+*PPK0u;?;jtUeeDvqG-N;-C@{a#G=lnxmZn9ov-<--l8l?qB4Q!|G<^cZFwE(D{I7h^7p2GAS;$kXxc-(XiTl$Zf*hLIm5z|gcZ5FMu1bN*pJ%4@wSxTbs-W%@0w1rw)yaU z2}d4H0rw}!*?;t|Bm$M;++InIAv5T?>8%e&>=i^&cbBZUsvXRTXwyWOScsG_0|k5w z*{c;@TolUB3a^Pa6e=)1>CTAR)z6hh_&?zgv(sA(Vk^uBtf4)-pIIbNuYN>>jl>C#@|v# z9BvPgd(qaI2b5bt1Bpaa_SKVc~z!|S<=MXsFrL;3S`6duitn+a~Dt`eM zfQ22^aX^-jrttFyTUYxiL-z~=jV}!EI=O3bWx@R7rrbEpxxirIoI13^!py+MIn4h< zEm{m7)0ac4?M*6nr@dcC>|WVzc~Qga7RczStn@f<44y%F-_xiHBd4^2!h5~>>=G`Z zea`pNU6B8y?kT$C%ksnmIKILYokyW_g5BaO9~$@qo+`3IlwI^KHTbfo=Sd~uL< zHxH*Hmxy$W#w}BGRj9q5hx)W}Wq4g7eNz$EL=wg?*+#Ot0t2ep=-XWIo?9mV(o_oK z*r^~pegke(^Ps^q=y3w+-@RAq&&=2#(~tJ;=5mWQ4KUTw>&DwAB7pycA(?Q7h}ijf zHMR{4s78muQ!~~^6t6$X-H!}V4=;^U!uNV)v*+Ijk%eIR9BXQ zIbGF>5x>94PB?>Hi+_@HDMHK($C@zYdt@Z9=YkrtTOt;yT8o{#8@|JX^a-fSdj6Ns zjI@LMsu!l;^tthqM@7-X9DA%9Yfze0G)T90{Zh}u!tO-wDA&Z&2 z=R*C&L2&2gL>_M=qJF{tNL>6wc_pY*DMY5$qMdHTRZ-ml$9+LDGN3(|Cc3%E6;QL> zN^)@X8qoV0@f&TH3q2L__44X$fyq?IMeh7wcha%{sWUyN^K^*URi@WA+gis*iq2{# zVzpAG_E;!aY_TdOhdc>IiaH$nD29&LjCg+~KTQkQVc0)HqOi>|koNoFX1jn^T-@~( zIYITWWca#`N?PB=;_6o*!)Myf9xxCf7KMk7k3Ie@$#6Vnjue4bGTTu&4Uj zlBYL`#W`>n2r?!W$qB2h;~y8V^gjTJ{0sYcECshb@U)_kam!E5OxG! zs6nqru;~Cr)qigvQ0FV`cWyvrF+)-4u}%z_dSevS3III;Fj)oHuc&_#yg%U;ao=k9J}%iMpvIefX= zjckgrfJcxE$XJ`|(iObLIB)JRfb)*sWd<|gj=9~Xu?{W-hVuY_ zzvj-nu`TxkyVSXE+MFym+7YLy&zE?)J&JuTN>~Hng}|T!nAM(JjSt84YQ%NB1jS`h zF9&yL3(n70Pj{j}?znGPdNz8bRlr_oM)N!?BB3PBbFQ{KHkyfb@vrK>u)4H#uk>I7 z5H?6k-!;*w(+Qq`79cIFz8C2|N@pwPQL$HK8({ZOtGYaP#~Sd<6!s4&XI0|* zM8_Vc({!U4CI1}EF=4Oa*uv0~#?;){YA;mN$CdLu)>;3j-SgNiECSHe)JB;23dd1* zEV6Zhx@8{uh_O9 z1j;&e!=&--8KWx0e0eldBy-tp`DCKayW|4elUnjex~Mq&MmxdFV0p znp&mepfeu;Y@x}o0WSB;w=Y|3ZiS>dpvFgYbHpiS?o6`w=xYxjF)G^fiZP++P8E?$XD}T#-5Hf|tma_7 z`!U@FdOp+t)X0*#?YoM*tuFFW(F8mS_pXF%lW*{@1MD@!=YL5+ z6^jqIppy(ob!sn4fD$hMP&+P~XrAI8uu%@C&azaR*rU`2{XAA(R36hj4inGGDW?N< z%;YX~m>F1~b6rxNS( zAi&@l)c*H1t*5KuclUV~2^`0G*_apdJ4IoS9v#gY^zVA{Y~c5&WOFanX|Fc$wzmA3q*^43PL*PtGFC;i~vW&7>l zPM3TK(-0GKhoi`#2h;ujf*Tqy2^B9n%(XJAi^1uQl!fJgp93}t=ur7Z02MkgD-$$g z#(DAj##aV&iP+dv!WM>i4#OO=?Y{^7mog_+^g-I8%`FNxZ2#^Luiw_fKK#i09n&o! zin(g3xYC>e1L$>e@FI20IMiM(cgeP-;v<7YYH1N<-S6fwQ?m>=$b0KQM0>|~|U9N1US4Ycpn{UvO)?Zedz#ww)P05v+P&ypUAANH4;ILl*nf zX%i1d5iNT(G2y9(P5X_8jr*Fh8YV*{??>**c*E$4=9KXtNO9OHI19JZ5gauYS;>JL zNTFH}?9u)_{wMdAy*iC-`WMnWKx;FAfQ_oa-#|LRIsL8YX(k}_=%3f<5D!_&rj!i4 zDD9vCAH00QU-*p;vo?TlNKL-bugvtYmzn?%m&L(Ad0bxfGItsnDOZrg*C5k*pOgoa zwbh^2jU5^ee6^rzu+Xa4D>By!-+>?f9!@Rwia6sZT8iBXlWkNOih&o`-^TOhG$gKK z=hzqCLPPht7CKQNzL*7lZOQjo$I8>zS+X3tLI*wSHE*lrF;u)vo~|9Ho^AJkhfT3; zrd_ulNBl3>d1?*mTU?*gQ>b!D7e`XfGjHSzLWa|r2@mWL|L6tdvqreOCfhDRtKMK2dc9!*^C$GkGu96RvRclXSXv(zZx zltAvII(o+!stp!jl)D*cVYb90j>rcTT!jb{0C|yB*iE1}a+Z@VP#7hs(aXml1&ag5 zZxPU%O~-Brz2gC&S&#NNgi=-2gOl1UeK`31*C z2PJf060~ENUsIErj>&qfG?jj&8R-=(2Fm%rHEAJmHlaLowa6}$cu@47$$8CiC zl?2w`h8W@>I)=4~onT+C9BJZStP4-DVa)UGjF7MtmMs=Jf>!?+Rq?|Ye3}!&&ou!^ zfoZD!mCV(wF+W4(kx%lK9VL8un3w?&0r-Zd#qogWcD%)<>8&jiyss0R;;iW}IJi~b z>?_aJMl$?`G?uUO42(_^`53oWZcdV=~4le25{r@uGD9Lu?> zb&qxz8iQzMRC`izm5N|Qcx%C z19Kg$K$f66k6CyGgxVPY zFe8NlW}nf=nYOLoN5n!-a$oqQ8n8oKki+AEyVSrtv;YTRxhvRl2#lKkOEHmbtrmx_ zG;?mxzJ}$%jg=c}jYuPX?BZr1c?JD428%=o$!K6P6}<@3@-QeJ2nMxm{6hQ~cVu|y zT9>E-E3{s`eEKaQw=IRt(r8~5KY3Ipd4JKk@y?rAc>pRuzTbtNU!)NZAG_Q>Ka@YH z&9-5j-Trky8yK-a2&b&Ws6uAnM-qy62&u%a&*)gja{;G}WFMkFdaf&!rvHKy=1Kv8 zzOs{mcg%D^kHK8ed2huxu`=#~767KdFK2tAk0g(@F5Mt*_5Pn!Jx0-J#y3J}b9%2-Tt9l* zpxk^esC<_ocR1Xh5zDSwJikXyTdk7%USlU`C%8*_QFGM?Fm04AaW3*k-GbPq&7z+Q zg9?tx%}gMA_7ibKx1?oJ(bIkFg%>oj!2x`PLiNcAU6kkWj-f`gu**FM`!aMy%OQs` zGWQ}-g>WTe@dQZ+u^UFJweJB~D$oBC9GmG>}4 z2AYKCp%2mqo&?rStmemP!w(IxlBsju-=}n7Q{Y|tSZLN87Mug(R&VppLcYu zJ?U4MOf$68X_!<8Xr}W=XInc@-Qo^G*fP$t3C9>lZ>08c90_ZKYxc6PM~0ZxrN{nY zk#Da+G?742U=>^w=3G$BkX!tU==5v93bI6Qe--vI8g|~wXPn`dBspS(&ypWUal#_A zLmqFuqs1&lUfECcl%$qa93-`K<_Vpn8*?jx2i>;Av)OtX!JG z!;;B!U&Xqq?xo;VBQAhi6aFf!DShmbbNuVCH;&N-l5yz1Fh4jC!qn$rQVcqKkdGTVZ3iQNrW^28V651z!QLp9i1(Iq(+^ zd&5pAg51Y{2P4%iaZ?1tfzt#;iI~%bzC1x|8pG{=(9+?GZ9C-nPVewy+<6O5wK`in zd{6F)7X-z+il&N2nZM5@02eIy91e!;?H4G{iawLOvrRPpg%^zb+&F}Mf9s_7S;MW| zbf8awb=EjXq)MxG=V3v~gt~G@7O~DjEPq7Pv+1>m>9yx|UqD#%9*&yQ`I7M#D_*rz zIIV(wOz7{KVa%{SGxw{W(5J#O_ze4Prd^$+_YYsBn+x_=ITz}5|94;5Rl zft>Y$j$Ljo7w~olS7V#2RL7pe0Y2|YqdY8nI8nWFzUz%hi`klJi#kkO0?$zb2f0>4 zE`8e{)2T$P;2po}nqxwkcDV1X_Kzu5OZjE1t72)qVnm{2O`FHXSX_sP`rKGu1zD&` zTo4~_f3MknmK?A@ND7z#R~ZBbS_xoQP-A+?y#Bm`nZ8DEFgzD*1ciOE8yF)$(_|7} zHY_MuB1KWgM=wL7IEkZ*3qB6NtMhdmoO#ps>$GbO`{;$r!N@kKxy$d}>%cZVwmyMQ zD5ODBx72e^F^(kCZgcL~k3s!aAV4GiDwiN%5yYE8pNLH8w%Q7rJ+P5|{7QWcaIWGq zkT0kmX#W%mWrYuvERE7BWt$9{DwUVl;WVa1%w1DOn^-Lsc;AM2543F|FW`IC6c40G zOin+BeH4KKe%GF>!&DnBU~ z?Sr{zeswqr7ISpGIrff%zd#q_>*%{F6H+xA0Y>~99Dq+xF`HbX7_VI))<(^B!0FU) znUP}z>EnwJK_@3uipaQm5nONs+%~(n)z_=;qniZ8^=eSCo(6+Q%7WWAJ_C z7TkRAMIAUI#Ks{6%n)g+dc`i^)nL~W>c_!uP;CUVwr_3eQOfg~tCW9$0xs;p z^(5Cw``nnz4RR1Q)l9ts7W6y_iZNxt4@a^xn9 zwnQ8K<1FF9!G4~+>UW_GWCYW-1Y^MOX$pjQc}EDtlk3=ib!xsvm;s7vTp4_{%j)EcgM@JRXsQW zH8Q*}N~vR>3NS*sK3!m?Q~4Dye2qy4%;# z#0&7TOUvk~w|4e5ng6>bRvX1IQr*&|`#{ zgM@di(8(Gwd>MfOuS*PExJC$A4J2%0XEWhJyG=32eXMWCjR-eOmh_=5Bn$I;!ww^J zX?A{pv3O+oS;+M#>AAI*%jsfgM~z+1)siHY>$Q44|2i6BkL8H@VutCcNUCphnNviC zc3o$_CZygj>H>AeK&h1*0jGOf15rP@1i1gWs2>F=ZR%LS!cDWB_D-vz@#DE+yZ;pi z50Z*uH(So13ASzLIbMv&ArPUbq<~7F)M0#b% zA6*BDXr+(8=8%@~uDk8FO`x94t8e)gsCg|5nLQU$uU~~D+r#1cxRL6Jw?4trg5E{< zX<_uIA@q&&NVDUL%9#pRWhH#G$|O`=pFEqP_UjXAL`PKvlO9%=A}?!5tK?3rIFJ2|8hEe z5&B}M&&<3gc+(;W$UQyE?9;_PO2%tS!Z06UIoh-Vpv9Fbs1qjr_0ut|OkbgHFl4SR zv#xcG;-Z@PDF0;Zv$)1tqp&+|(z?Q-5BCOGqP8v{lGL}1szdZL1%l|M*4EqIrlN1z zEA^{;j&pt_h3%QRT-(_I5LLN0rN~}KQ0d13>3$Hk>~Nq`_bM)AZ!EY^oSJ$o$;=dd z$Wfk4Mv+*#4Plz1MTF0$qKuQPi=610*~GNqk;z``5Qi#8*DmqAI_30y=e+E(Ht8AC zFa5;q9irSad6Au!UD#)q|0DhJ^%H?s76AIiBta64JhfQAtgK`F;@}XHSX`dE zzLFU6)=0qsJ+i5%M~Qk3F`SrNwG4R#Rbq%XTva>WKxK-Wqbvq^c-lc(SSC}@IV4$z zC2F2M`$B%<@GFRxX_68cI=wDWY|doi&mVGeaY+i?SV~lcD>X_|?+BxY+6riT>4^x! zH@JeoVx%wuxIDPwLE17dm_5?3evsBH_b?43e_uHcx)Xb)c`zJfs81nA$9!GBYW8iv z;Aqv{oBLIU-CT^8Io4TI-XNh6jh0X3aF*=W2h`$>qBWND4Ro{gZr(QMgTyPRLVg+2 zLQRYq*mDN>PI-TX$1l6Oa2iV3Y>M&fP?qUj zXf#GhF-GW|N-h~u6?r(0xW9o-)`U|sT~v|iR&CiaS|r(CgdPGb)=<_j9M#_g=l9)tAXYVQRLqc}CQHha0kzY(Z78dlV0SnSOPL6^HnK zd}mY4Dk27a+R=ZDJC$3I+oSvp`7y%HaBQ!N^KWVDUSRrv#mtpADK3#aygSEP-H zlv5j5t8+%sRSBpL(}{(#hlT?MDmXwC7KdgYB8i{MKwiiTXWh(0M$S8F8>|-#;JKs- zm#F3B-);}fK|#u zP%tk)bZl?5BK}CJAjEg0BH97qm+wWBz+B-GwTMxXGHT=a%@yftj!ln34_k)eamg5z zp&Z$_48rTSyY|Y1qrg1cBlNjtVFeto(DU+d*zNjkbrCTQ$@GCJy111!;V6NM59&zgXzPgloGs0Eqw+yc;E@|w z*#b6(TDrw~u!)j?Qj5HuFgn;)FCB`3F}RN7Wpq~l{~PMHgQ=`rdZ z|5nRYkm*%hztD3!d6k=W$wSPs&K-Xh_I0p&6+5P)W^CT_xbQJT$A(pv|On~ z+i53|?nPoIzF$Sh%cB(zKGEaO&G%Lr6Jy*PDA=^#uAL`{kt;WumHDh7(lRDVBJL5X zUYY#azje@RNBruaC)v)lBhO z=wbOOH|F8RLC_Y(5E{S~Pr`xO^f#{W`0=LGWWIja{cG5F2B>_B%{g^zS)~HV&G2jW2gXhVkTp1TOhM^QEcKQ02E8h>-q0yu0x+DTCxLcerR%~*v zM`)k$939tgS8vLNJ^En6E5D7+c+2(YjpS%PCx!d-j@#I8RsxTQT^ha(x65?=N6hg2 z+!dPz)4s3uI(du+#Ah~qK}6^M2&kqV`UhI?EpNAso&euLUFq&E@2c@9N~@g5DDjd% z#$VdvrjY6hf&>}6p#Bo1hY<=CRQ42N5Wn%OTlegX5)Lqi(===O)VvPfR*FR;3&V?r=aE%B@jy2~!#J z*z%YfR}0>9@fjg>K~Q{Zpt`6+ppUIg$ZFE8h}-xjs$$*RT_AI@cDBhVs({{D21X<) zksR$UDs4uj2DZ*m?GYi@`klVm7`0pprk{T@x58##-fe*(F%2nPn`ObtT^H_33LAtQ z?cmcka0S)T20bC3>@7GIuyjc^{CjE6pi$A`S&MT~J3>-R0(l@{YCh`~PEM zele`XZ%~^+F7Df*JX(RS%pSB!JU+bk%WqHgoEO)$D}1AHUzXb6tE;^2Xw<#0GQcp* zv;6<|@(d+JQ2A6vD})3A1;EpOt>0`GFad+4n>zIUV3Z@J4d->08uHxtaIdEcmG?{3uOtg0!Q6uPMJ}$GLOTGYcVdyL}XUMRC`X_xZ7)iF@ zySx*2(X7k^v6$#?IKwKQDAGx$9UG*?hr{*@<#xGdpbzjTX!0EKy#KIzlE8poj%hDd zSdCx(Ehsw!BYu2G2bD*ZL;v|VdM=A63YbD~O%7wiOsDDOd7cRKcmHC1#r zaQbH@grK<4KTy|y^g}TI?EltxH2%jLpH5I*MoLnGN?M6V*v-j7|G)Uue`}9mVq*Lk zr26w#Aw_q`pR6Ep8xvc6Zf<ZY*SMXlwM-bn&m^2Yf~bw*QTMRg$ZV38aVKyhp*UX(!;P+6+)z z3*KETpIu)VoD~a2N~gbhPL*3b16#jq$lYo>De;s(REIKxgVic4k32A;W@YkqxVTKD6w6KGx(HB;5{C7hSq`rh+H z#t$q93e1jsw>^xt;E#hl!m>7vm816VF6Rm?{1L+BW93ZLzm$2P5?=Xy>us{TsZg&k zH}etgJ%^C!v>zD@$c|3zIlLJXsMY#cTs!Z@X@Xyn^Z6-kh+7dN@P$jp7u zIqx~|IpfU8y6e)1yNe&;#QdA{DSn?CuE6ZdXAXaBPY z+q>U-@i(5k^;>_x>EyqkS^m`ze)xx*pL*guZ(RQTdA;7s3%7s!uX|tl#hsH6e)FNd zx4iALmH+JD`rZ3(KP$tX@sI32(phW!&+z#dY~`Cc`ybtPrZ2aUaTqoNDa|v3QU6ay zAhl2fpRQ#D-t4Dfv1lo24YQwJcdFA~F554%C z(O+*Jzwy$ObKADR%PwvE`OMP~rRQva=GEsOdHLZBzP{^*hcCJAx%!{)d!q5q&b?>N z``RTt?z;b{v-OjIdEmrj+s-<9?(63sed)%#?zrJ6_g{Z&>z8l8>cAJL&;H!^p1<-- zul(`Tt!poQ{qC!}zkT^nuU`Fy??3+H*S_-5k3Xp1xA@wR?tJ0{KRf%J7yfnOlb?U! zj@|#kLr^@u=kDKy(M@CbQ)<) zH~Zuz=rcpqD)t3Kk43E7IZnwE?U|avyYb4OB{}2DS&b_x8CTLZuB2gH$5zTLdg+>ir3gU~9O z6)k6Km1HVGWThOll2lfb%F4z2l9c}+NKw!ACFM&=;Yl8nMkpl}R@JN0ucT72q|&gY zB!-7~ie4jlGh*?}@GfqkWQBsPPfe+ko6;pYh4&f~Nu?`#W>x(wdZwahDthTEJ(xV| zxEXph)duw7Neenf>;zi2qKCIc7I<|wRCN|qrTePVX_c+gtIqdk=+S~UpqEwjd?h_! z(eo9(P)RRT(!+}{3)=YV82!{qMNcQ2mmUqZK0Te3^fbP9R!pZ#dK6z4f8)8Z@@Gj; z>yn<<6}{D1S)0w%qbW9^XDWJWMX&P8I<4pxnE<3@D|(f6*Ofull_4C_mF3&a=F-#~ z(5uX*&MJCYCB3Yo=PT*?ik`2e=PT)j)y>7LLrKh=p+`fkPjA(&n98gTkB&E=4ksQ( zi}gp-cvz4)nxtH;Ny^2Z9u;Gr@@Q*$j6zDMCfVK3n}beoeh;#n+KxT=^h#n9pLm6@ z?rC#@O6o~c-#OCQ*K2RoWV+vLFSU>>?by}o_hy@e+8$(Soo*M99ZSY+?V26yR|Fx{vrrs2#q#ZbOv1z-Pges zi@mu)ZMwId_osUuIPlS0H*XCRJ+`ng*cl6!cDPz|^|8Wz`JmZu4w|*o0qenim!3-P zR02;!dxJbPZyp`lGI7z$LbG)wAJk@%ea=tT>$OgMvi@NS_+glnC+hXFidoQ%-(A_jvXTjeaHAIu~VcnUmlje*j9{*jDsBvS*wYj=pqjr_< ztk+~!cP8s+(w$Y+*;$TRD$iuSRGt#6^k=euCjBX!6)H4Y-%y3>jj1igwry6NE6s&+ zH>yp;-)oC=s9|%V6lYGS>`anEdlF`6?$}1HxOj@5mBz2rcWQzf76K|YX;*hp{?hHx zV#d48`9qWSmC<%S*Ieoj>Qfs^aiT$*-|bA5zZ3&DhGr@L_mG6&yv!Gt`rYExv|Ek5 ztn@5G?&_2pw_B&gzE0bAYrI89u-8AWO~6n@>S7}{TwkFj#UgOJr%qc5JXbwg@8jgl ztZAj6&y64nLV!DhH)vP?YR+1?@41mJ1&}&Lfjj-H&7Zy9y_ zC>CXyp~xx5(jxj|SdptS%*u6GL$O8N4!bDkuo;C=aXS|%9*MC`QMk@9BW2~Sl!4Er z{JfWP30CNa4H>0=@w_2Wsu5uhSqNXR!~5HLUkA~PzS>d>6OX4I#cB-mlz+yU@j@=n z$US$dqHHbhYZD)M;NmmNQCK@qiFS;IMDAN~6dSX4o>IpM!!jr{VVFfNonww-Y}U>TIcF*r zd!8vL){&`9=wGI#J;;!8@O{HuDyRw+b1~9(W(Ha=+R^nC);A55+s5NT?S%|%5vsFx zxFwbMbqS?aaXY6evx~7TrPQBcR>~#IC@+fJ;YL^?7nlgX=UGrj$N=ic^(uo1WV?(C zH_^O4apEi>#}H@1CqbMAue`8VUMIp{VRwbS@;V6ld89X7E*@?{a5i4-C9Du-RPowU zD6hbRTrZp>*B5UMRW0N3oDq786C>=4cTVV^&r;!|d?xkTXI|{3_nA1q&{E2cV}2nK zJ_R3V7j`lv2nJZ+kQC`_G+szDDibg)2wxFUVB=iip{U>y_eD{J??-^|;d&ZOMn#~w zuL&X^g4zqY1Y4Bf;=Wc3e;#Zq*X9zrHm9go5s&AJx^RqTMy?}EscgX7IdMLMPlUb% zuZ8~zJ{A5g1SR}*2z2d~%^OfNh%tO320{>6#?L<51*(D#uS3DhaK8mCaNCYoCW*Kc zSdd(B_L&Z;#2Bi!#q*{(AOZ_iERWkkt(fgpiM3o-z{J@C7PvmE#5pQd#&bAtm~Oz3 zB$7)ed?VTg9yd`rg8Oq|LGDpda*qNGD&t2RCovK8D~!hD7X@$0V-R3)tb7iIV2Wc} z#8((D;WieS;yDR0&+P`V!0iU8D1N3<-A}aOhtO8=vqtEFLg>x)4`Ghbapg3Rk(5Hv z#dSj=NaDJokZK4nIOh_h{4>@yg}g%W3z};6kxr_RN*M$v=0Hh^+chM4TI@O8InT?` z4px@Ui~2bCm$)9HdCUsTin9evC(g9Sg1P(|AoX3PP8hvl!Y5;C!k58<3EeOVg2f&oXcbsMmdLpTM8OP85ufsQX(D3_ zoCKbez%7Wl9Zr>Q1c_ykY6O`Avvh4Vk`=5AU5I2DPP)KSxejy|ebZFfY(T>Ar&iG= zym(&Zt72YjMVy1-*1#-XzKzGjG3UCQA}-!DZlJCb{e#1u%R( zEo%C>nL@^O&cNC7zNlO9wc+^kIue+m;K}>q(1^9+LWNid6hUydYs^apV?Kv-BECZX zRGc@55;wQ8s342+ymw-cP|M(Yr8N>MHXg9R?JhzoB)~CejpcHmhX790K!G7aXMIuK z<#N{e3J#A!bQT=9sP=GkKquO&{tq1 zy$5EvFN3mZezt&#S{00Q#`7)QJckMbn2xu zwYZMMnij7~j>m&L;`}^NNA`STBF);Zyq(O>L5W*QI-BQnd6)}6Pun=4d2?zan?)^qZdSE2{MnjC2++*) kFgur~d6TN#Q`h1~5!~d_><@~|vPhpt&OiT>%l3}^7e5=u>i_@% literal 0 HcmV?d00001 From e42f337378d55b0fbb74f64dda8a58a54b292be7 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Sun, 24 Feb 2019 12:48:49 +0000 Subject: [PATCH 11/28] Experimenting with user app examples demonstrating IPC among three (3) threads instead of two. --- user/apps/3ping/build.mk | 6 + user/apps/3ping/main.c | 198 +++++++++++++++++++++++++++++++++ user/apps/altpingpong/build.mk | 6 + user/apps/altpingpong/main.c | 146 ++++++++++++++++++++++++ user/apps/build.mk | 4 +- 5 files changed, 359 insertions(+), 1 deletion(-) create mode 100644 user/apps/3ping/build.mk create mode 100644 user/apps/3ping/main.c create mode 100644 user/apps/altpingpong/build.mk create mode 100644 user/apps/altpingpong/main.c diff --git a/user/apps/3ping/build.mk b/user/apps/3ping/build.mk new file mode 100644 index 00000000..cce6c07d --- /dev/null +++ b/user/apps/3ping/build.mk @@ -0,0 +1,6 @@ +# Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +user-apps-3ping-y = \ + main.o diff --git a/user/apps/3ping/main.c b/user/apps/3ping/main.c new file mode 100644 index 00000000..2af74dc2 --- /dev/null +++ b/user/apps/3ping/main.c @@ -0,0 +1,198 @@ +/* Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define STACK_SIZE 512 + +enum { PING_THREAD, PONG_THREAD, PUNG_THREAD }; + +static L4_ThreadId_t threads[3] __USER_DATA; + +#define LABEL 0x1 + + +#if 0 +#define __L4_NUM_MRS 16 +typedef unsigned long L4_Word_t; +/* + * Message objects + */ +typedef union { + L4_Word_t raw[__L4_NUM_MRS]; + L4_Word_t msg[__L4_NUM_MRS]; + L4_MsgTag_t tag; +} L4_Msg_t; +#endif + +__USER_TEXT +void *ping_thread(void *arg) +{ + L4_MsgTag_t tag; + L4_Msg_t msg; + L4_Word_t count = 0; + + printf("start ping_thread()\n"); + + // Prime the pump: + { + printf("ping_thread(%d)\t", count); + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, count); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[PONG_THREAD], + L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: send ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + } + + while (1) { + tag = L4_Receive_Timeout(threads[PUNG_THREAD], + L4_TimePeriod(1000 * 1000)); + L4_MsgStore(tag, &msg); + count = L4_MsgWord(&msg, 0); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: recv ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + + printf("\nping_thread(%d)\t", count); + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, ++count); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[PONG_THREAD], + L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: send ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + } +} + +__USER_TEXT +void *pong_thread(void *arg) +{ + L4_MsgTag_t tag; + L4_Msg_t msg; + L4_Word_t label; + L4_Word_t count; + L4_Word_t u; + + printf("start pong_thread()\n"); + + while (1) { + tag = L4_Receive_Timeout(threads[PING_THREAD], + L4_TimePeriod(1000 * 1000)); + L4_MsgStore(tag, &msg); + label = L4_Label(tag); + u = L4_UntypedWords(tag); + count = L4_MsgWord(&msg, 0); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: recv ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + printf("pong_thread %d : %d : %d\t", label, u, count); + + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, ++count); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[PUNG_THREAD], + L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: send ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + } +} + +__USER_TEXT +void *pung_thread(void *arg) +{ + L4_MsgTag_t tag; + L4_Msg_t msg; + L4_Word_t label; + L4_Word_t count; + L4_Word_t u; + + printf("start pung_thread()\n"); + + while (1) { + tag = L4_Receive_Timeout(threads[PONG_THREAD], + L4_TimePeriod(1000 * 1000)); + L4_MsgStore(tag, &msg); + label = L4_Label(tag); + u = L4_UntypedWords(tag); + count = L4_MsgWord(&msg, 0); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: recv ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + printf("pung_thread %d : %d : %d\n", label, u, count); + + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, ++count); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[PING_THREAD], + L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: send ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + } +} + +__USER_TEXT +static void *main(void *user) +{ + threads[PUNG_THREAD] = pager_create_thread(); + threads[PONG_THREAD] = pager_create_thread(); + threads[PING_THREAD] = pager_create_thread(); + + pager_start_thread(threads[PUNG_THREAD], pung_thread, NULL); + pager_start_thread(threads[PONG_THREAD], pong_thread, NULL); + pager_start_thread(threads[PING_THREAD], ping_thread, NULL); + + return 0; +} + +DECLARE_USER( + 0, + 3ping, + main, + DECLARE_FPAGE(0x0, 6 * UTCB_SIZE + 6 * STACK_SIZE) + DECLARE_FPAGE(0x0, 512) +); diff --git a/user/apps/altpingpong/build.mk b/user/apps/altpingpong/build.mk new file mode 100644 index 00000000..c46f012b --- /dev/null +++ b/user/apps/altpingpong/build.mk @@ -0,0 +1,6 @@ +# Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +user-apps-altpingpong-y = \ + main.o diff --git a/user/apps/altpingpong/main.c b/user/apps/altpingpong/main.c new file mode 100644 index 00000000..ad7b9f89 --- /dev/null +++ b/user/apps/altpingpong/main.c @@ -0,0 +1,146 @@ +/* Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include +#include +#include +#include +#include +#include + +#define STACK_SIZE 256 + +enum { GPIOER_THREAD, BUTTON_MONITOR_THREAD }; + +static L4_ThreadId_t threads[2] __USER_DATA; + +static L4_Word_t last_thread __USER_DATA; +static L4_Word_t free_mem __USER_DATA; + +#define LABEL 0x1 + +__USER_TEXT +void gpioer_thread(void) +{ + L4_Msg_t msg; + L4_MsgTag_t tag; + + L4_Word_t count = 0; + + printf("ping_thread(): built-in leds blinking\n"); + //led_init(); + + while (1) { + printf("ping_thread(%d)\t", count); + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, count++); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[BUTTON_MONITOR_THREAD], + L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: send ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + } +} + + +/* STM32F407-Discovery + * User Button connected on PA0 + * as result, for this demo app, + * Because USART4 (PA0, PA1) is conflict, + * choose USART1 (PA9,PA10) or USART2 (PA2,PA3) instead. + **/ + +#define BUTTON_USER_PIN 0 + +/* if you use external button, please + * update the BUTTON_CUSTOM_PIN with your own number + **/ + +#define BUTTON_CUSTOM_PIN BUTTON_USER_PIN + +__USER_TEXT +void button_monitor_thread(void) +{ + L4_MsgTag_t tag; + L4_Msg_t msg; + L4_Word_t label; + L4_Word_t count; + L4_Word_t u; + + while (1) { + tag = L4_Receive_Timeout(threads[GPIOER_THREAD], + L4_TimePeriod(1000 * 1000)); + L4_MsgStore(tag, &msg); + label = L4_Label(tag); + u = L4_UntypedWords(tag); + count = L4_MsgWord(&msg, 0); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: recv ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + printf("pong_thread %d : %d : %d\n", label, u, count); + } +} + +static void __USER_TEXT start_thread(L4_ThreadId_t t, L4_Word_t ip, + L4_Word_t sp, L4_Word_t stack_size) +{ + L4_Msg_t msg; + + L4_MsgClear(&msg); + L4_MsgAppendWord(&msg, ip); + L4_MsgAppendWord(&msg, sp); + L4_MsgAppendWord(&msg, stack_size); + L4_MsgLoad(&msg); + + L4_Send(t); +} + +static L4_ThreadId_t __USER_TEXT create_thread(user_struct *user, void (*func)(void)) +{ + L4_ThreadId_t myself = L4_MyGlobalId(); + L4_ThreadId_t child; + + child.raw = myself.raw + (++last_thread << 14); + + L4_ThreadControl(child, myself, L4_nilthread, myself, (void *) free_mem); + free_mem += UTCB_SIZE + STACK_SIZE; + + start_thread(child, (L4_Word_t)func, free_mem, STACK_SIZE); + + return child; +} + +__USER_TEXT +static void *main(void *p) +{ + user_struct *user = (user_struct *)p; + free_mem = user->fpages[0].base; + + threads[GPIOER_THREAD] = create_thread(user, gpioer_thread); + threads[BUTTON_MONITOR_THREAD] = create_thread(user, button_monitor_thread); + + return 0; +} + +#define DEV_SIZE 0x3c00 +#define AHB1_1DEV 0x40020000 + +DECLARE_USER( + 0, + altpingpong, + main, + DECLARE_FPAGE(0x0, 2 * UTCB_SIZE + 2 * STACK_SIZE) + /* map thread with AHB DEVICE for gpio accessing */ + DECLARE_FPAGE(AHB1_1DEV, DEV_SIZE) +); diff --git a/user/apps/build.mk b/user/apps/build.mk index 409d3fa5..858c54aa 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,11 +3,13 @@ # found in the LICENSE file. user-apps-dirs = \ - pingpong + 3ping # gpioer \ # l4test \ # pingpong +# altpingpong +# 3ping ifdef CONFIG_EXTI_INTERRUPT_TEST From c1854315bfc2223ff9a0904bf2e41ee60fd2b5c0 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Sun, 24 Feb 2019 13:02:04 +0000 Subject: [PATCH 12/28] Move initiation (trigger) of thread IPC sequencing from ping thread to main(). --- user/apps/3ping/main.c | 44 ++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/user/apps/3ping/main.c b/user/apps/3ping/main.c index 2af74dc2..2f8222d0 100644 --- a/user/apps/3ping/main.c +++ b/user/apps/3ping/main.c @@ -43,23 +43,6 @@ void *ping_thread(void *arg) printf("start ping_thread()\n"); - // Prime the pump: - { - printf("ping_thread(%d)\t", count); - L4_MsgClear(&msg); - L4_Set_MsgLabel(&msg, LABEL); - L4_MsgAppendWord(&msg, count); - L4_MsgLoad(&msg); - - tag = L4_Send_Timeout(threads[PONG_THREAD], - L4_TimePeriod(1000 * 1000)); - - if (!L4_IpcSucceeded(tag)) { - printf("%p: send ipc fails\n", L4_MyGlobalId()); - printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); - } - } - while (1) { tag = L4_Receive_Timeout(threads[PUNG_THREAD], L4_TimePeriod(1000 * 1000)); @@ -186,9 +169,36 @@ static void *main(void *user) pager_start_thread(threads[PONG_THREAD], pong_thread, NULL); pager_start_thread(threads[PING_THREAD], ping_thread, NULL); + // Prime the pump: + { + L4_MsgTag_t tag; + L4_Msg_t msg; + L4_Word_t count = 0; + + printf("\nPrime the pump %d\n", count); + + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, count); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[PONG_THREAD], + L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("%p: send ipc fails\n", L4_MyGlobalId()); + printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); + } + else { + printf("\nPump is primed %d\n", count); + } + } + + printf("\nEXITING main()\n"); return 0; } +// DECLARE_FPAGE(0x0, (number_of_threads * 2 * UTCB_SIZE) + (number_of_threads * 2 * STACK_SIZE)) DECLARE_USER( 0, 3ping, From 714439f2faa8ff5e74233cec2821de4587cde5ec Mon Sep 17 00:00:00 2001 From: ab1aw Date: Sun, 24 Feb 2019 13:28:46 +0000 Subject: [PATCH 13/28] Converting to using thread info structure and moving to generic thread implementaation. --- user/apps/3ping/main.c | 51 +++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/user/apps/3ping/main.c b/user/apps/3ping/main.c index 2f8222d0..25b282ba 100644 --- a/user/apps/3ping/main.c +++ b/user/apps/3ping/main.c @@ -16,7 +16,12 @@ enum { PING_THREAD, PONG_THREAD, PUNG_THREAD }; -static L4_ThreadId_t threads[3] __USER_DATA; +typedef struct thread_info_s { + L4_ThreadId_t thread_id; + char *name; +} thread_info_t; + +static thread_info_t thread_info[3] __USER_DATA; #define LABEL 0x1 @@ -41,10 +46,10 @@ void *ping_thread(void *arg) L4_Msg_t msg; L4_Word_t count = 0; - printf("start ping_thread()\n"); + printf("start %s()\n", thread_info[PING_THREAD].name); while (1) { - tag = L4_Receive_Timeout(threads[PUNG_THREAD], + tag = L4_Receive_Timeout(thread_info[PUNG_THREAD].thread_id, L4_TimePeriod(1000 * 1000)); L4_MsgStore(tag, &msg); count = L4_MsgWord(&msg, 0); @@ -56,13 +61,13 @@ void *ping_thread(void *arg) /* FIXME: workaround solution to avoid scheduler starvation */ L4_Sleep(L4_TimePeriod(500 * 1000)); - printf("\nping_thread(%d)\t", count); + printf("\%s(%d)\t", thread_info[PING_THREAD].name, count); L4_MsgClear(&msg); L4_Set_MsgLabel(&msg, LABEL); L4_MsgAppendWord(&msg, ++count); L4_MsgLoad(&msg); - tag = L4_Send_Timeout(threads[PONG_THREAD], + tag = L4_Send_Timeout(thread_info[PONG_THREAD].thread_id, L4_TimePeriod(1000 * 1000)); if (!L4_IpcSucceeded(tag)) { @@ -83,10 +88,10 @@ void *pong_thread(void *arg) L4_Word_t count; L4_Word_t u; - printf("start pong_thread()\n"); + printf("start %s()\n", thread_info[PONG_THREAD].name); while (1) { - tag = L4_Receive_Timeout(threads[PING_THREAD], + tag = L4_Receive_Timeout(thread_info[PING_THREAD].thread_id, L4_TimePeriod(1000 * 1000)); L4_MsgStore(tag, &msg); label = L4_Label(tag); @@ -97,14 +102,14 @@ void *pong_thread(void *arg) printf("%p: recv ipc fails\n", L4_MyGlobalId()); printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); } - printf("pong_thread %d : %d : %d\t", label, u, count); + printf("%s %d : %d : %d\t", thread_info[PONG_THREAD].name, label, u, count); L4_MsgClear(&msg); L4_Set_MsgLabel(&msg, LABEL); L4_MsgAppendWord(&msg, ++count); L4_MsgLoad(&msg); - tag = L4_Send_Timeout(threads[PUNG_THREAD], + tag = L4_Send_Timeout(thread_info[PUNG_THREAD].thread_id, L4_TimePeriod(1000 * 1000)); if (!L4_IpcSucceeded(tag)) { @@ -125,10 +130,10 @@ void *pung_thread(void *arg) L4_Word_t count; L4_Word_t u; - printf("start pung_thread()\n"); + printf("start %s()\n", thread_info[PUNG_THREAD].name); while (1) { - tag = L4_Receive_Timeout(threads[PONG_THREAD], + tag = L4_Receive_Timeout(thread_info[PONG_THREAD].thread_id, L4_TimePeriod(1000 * 1000)); L4_MsgStore(tag, &msg); label = L4_Label(tag); @@ -139,14 +144,14 @@ void *pung_thread(void *arg) printf("%p: recv ipc fails\n", L4_MyGlobalId()); printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); } - printf("pung_thread %d : %d : %d\n", label, u, count); + printf("%s %d : %d : %d\n", thread_info[PUNG_THREAD].name, label, u, count); L4_MsgClear(&msg); L4_Set_MsgLabel(&msg, LABEL); L4_MsgAppendWord(&msg, ++count); L4_MsgLoad(&msg); - tag = L4_Send_Timeout(threads[PING_THREAD], + tag = L4_Send_Timeout(thread_info[PING_THREAD].thread_id, L4_TimePeriod(1000 * 1000)); if (!L4_IpcSucceeded(tag)) { @@ -161,13 +166,19 @@ void *pung_thread(void *arg) __USER_TEXT static void *main(void *user) { - threads[PUNG_THREAD] = pager_create_thread(); - threads[PONG_THREAD] = pager_create_thread(); - threads[PING_THREAD] = pager_create_thread(); + // = { {PING_THREAD, "PING", 0}, {PONG_THREAD, "PONG", 0}, {PUNG_THREAD, "PUNG", 0} } + + thread_info[PUNG_THREAD].thread_id = pager_create_thread(); + thread_info[PONG_THREAD].thread_id = pager_create_thread(); + thread_info[PING_THREAD].thread_id = pager_create_thread(); + + thread_info[PING_THREAD].name = "PING_THREAD"; + thread_info[PONG_THREAD].name = "PONG_THREAD"; + thread_info[PUNG_THREAD].name = "PUNG_THREAD"; - pager_start_thread(threads[PUNG_THREAD], pung_thread, NULL); - pager_start_thread(threads[PONG_THREAD], pong_thread, NULL); - pager_start_thread(threads[PING_THREAD], ping_thread, NULL); + pager_start_thread(thread_info[PUNG_THREAD].thread_id, pung_thread, NULL); + pager_start_thread(thread_info[PONG_THREAD].thread_id, pong_thread, NULL); + pager_start_thread(thread_info[PING_THREAD].thread_id, ping_thread, NULL); // Prime the pump: { @@ -182,7 +193,7 @@ static void *main(void *user) L4_MsgAppendWord(&msg, count); L4_MsgLoad(&msg); - tag = L4_Send_Timeout(threads[PONG_THREAD], + tag = L4_Send_Timeout(thread_info[PONG_THREAD].thread_id, L4_TimePeriod(1000 * 1000)); if (!L4_IpcSucceeded(tag)) { From 8011d5bbb646909105a98873faab9a94d0d5b13a Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 25 Feb 2019 11:03:53 +0000 Subject: [PATCH 14/28] Create a user app demonstration of a mechanism to work around the missing kernel support for passing an argument to a thread function. --- user/apps/generic_thread/build.mk | 6 + user/apps/generic_thread/main.c | 194 ++++++++++++++++++++++++++++++ 2 files changed, 200 insertions(+) create mode 100644 user/apps/generic_thread/build.mk create mode 100644 user/apps/generic_thread/main.c diff --git a/user/apps/generic_thread/build.mk b/user/apps/generic_thread/build.mk new file mode 100644 index 00000000..e37a4f47 --- /dev/null +++ b/user/apps/generic_thread/build.mk @@ -0,0 +1,6 @@ +# Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +user-apps-generic_thread-y = \ + main.o diff --git a/user/apps/generic_thread/main.c b/user/apps/generic_thread/main.c new file mode 100644 index 00000000..bb39e3f1 --- /dev/null +++ b/user/apps/generic_thread/main.c @@ -0,0 +1,194 @@ +/* Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define STACK_SIZE 512 + +enum { PING_THREAD = 0, PONG_THREAD, PUNG_THREAD, BOSS_THREAD, THREAD_COUNT}; +static L4_ThreadId_t threads[THREAD_COUNT] __USER_DATA; + +#define LABEL 0x1 + + +#if 0 +#define __L4_NUM_MRS 16 +typedef unsigned long L4_Word_t; +/* + * Message objects + */ +typedef union { + L4_Word_t raw[__L4_NUM_MRS]; + L4_Word_t msg[__L4_NUM_MRS]; + L4_MsgTag_t tag; +} L4_Msg_t; +#endif + +__USER_TEXT +void *ping_thread(void *arg) +{ + L4_MsgTag_t tag; + L4_Msg_t msg; + L4_Word_t count = 0; + + L4_Word_t my_thread_id = 0; + L4_Word_t prev_thread_id = 0; + L4_Word_t next_thread_id = 0; + + printf("\nping_thread %p\n", L4_MyGlobalId()); + tag = L4_Receive(threads[BOSS_THREAD]); + + L4_MsgStore(tag, &msg); + my_thread_id = L4_MsgWord(&msg, 0); + prev_thread_id = L4_MsgWord(&msg, 1); + next_thread_id = L4_MsgWord(&msg, 2); + + if ( ( ! L4_IpcSucceeded(tag)) || (my_thread_id == prev_thread_id) ) { + printf("\nping_thread - %p: recv ipc fails %d, %d\n", L4_MyGlobalId(), my_thread_id, prev_thread_id); + printf("ping_thread - %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + + return 0; + } + else { + printf("\nping_thread %p %d is initialized : prev_thread_id %d, next_thread_id %d\n", L4_MyGlobalId(), my_thread_id, prev_thread_id, next_thread_id); + } + + /* WARNING !!! Cannot do this! Apparently, a message cannot be sent to a thread that is not already waiting for it. */ + // L4_Sleep(L4_TimePeriod(500 * 1000)); + + while (1) { + tag = L4_Receive_Timeout(threads[prev_thread_id], L4_TimePeriod(1000 * 1000)); + L4_MsgStore(tag, &msg); + count = L4_MsgWord(&msg, 0); + prev_thread_id = L4_MsgWord(&msg, 1); + + if (!L4_IpcSucceeded(tag)) { + printf("\nping_thread - %p: recv ipc fails\n", L4_MyGlobalId()); + printf("ping_thread - %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + + printf("\nThread # %d received count %d from thread %d, next %d\n", my_thread_id, count, prev_thread_id, next_thread_id); + + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, ++count); + L4_MsgAppendWord(&msg, my_thread_id); // prev_thread_id for next thread in the sequence. + L4_MsgAppendWord(&msg, next_thread_id); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[next_thread_id], + L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("\nping_thread - %p: send ipc fails\n", L4_MyGlobalId()); + printf("ping_thread - %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + } +} + +__USER_TEXT +void *boss_thread(void *arg) +{ + L4_MsgTag_t tag; + L4_Msg_t msg; + + L4_Word_t this_thread; + + printf("\nboss_thread() %p is running\n", L4_MyGlobalId()); + + for (this_thread = PING_THREAD; this_thread < BOSS_THREAD; this_thread++) { + printf("\nCreate thread %d\n", this_thread); + threads[this_thread] = pager_create_thread(); + printf("\nStart thread %d\n", this_thread); + pager_start_thread(threads[this_thread], ping_thread, NULL); + } + + // Initialize each thread state. + // This is a work-around for lack of support for thread arg parameter. + L4_Word_t prev_thread_id = BOSS_THREAD; + L4_Word_t next_thread_id = PONG_THREAD; + for (this_thread = PING_THREAD; this_thread < BOSS_THREAD; this_thread++) { + + printf("\nInitialize thread state %d %d %d\n", prev_thread_id, this_thread, next_thread_id); + + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, this_thread); + L4_MsgAppendWord(&msg, prev_thread_id); + L4_MsgAppendWord(&msg, next_thread_id); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[this_thread], L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("\nboss_thread() %p: send ipc fails\n", L4_MyGlobalId()); + printf("boss_thread() %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + } + else { + printf("\nping thread %d %p is initialized by boss thread\n", this_thread, threads[this_thread]); + } + + prev_thread_id = ((++prev_thread_id >= BOSS_THREAD) ? PING_THREAD : prev_thread_id); + next_thread_id = ((++next_thread_id == BOSS_THREAD) ? PING_THREAD : next_thread_id); + } + + // Prime the pump - send a message to kick-off the round-robin pinging among the threads. + { + L4_Word_t count = 0; + + printf("\nPrime the pump %d\n", count); + + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, count); + L4_MsgAppendWord(&msg, PUNG_THREAD); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[PING_THREAD], L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("\nboss_thread() %p: send ipc fails\n", L4_MyGlobalId()); + printf("boss_thread() %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + } + else { + printf("\nPump is primed %d\n", count); + } + } + + printf("\nEXITING boot_thread()\n"); + return 0; +} + +__USER_TEXT +static void *main(void *user) +{ + printf("\nmain()\n"); + + threads[BOSS_THREAD] = pager_create_thread(); + pager_start_thread(threads[BOSS_THREAD], boss_thread, NULL); + + printf("\nEXITING main()\n"); + return 0; +} + +// DECLARE_FPAGE(0x0, (number_of_threads * 2 * UTCB_SIZE) + (number_of_threads * 2 * STACK_SIZE)) +DECLARE_USER( + 0, + generic_thread, + main, + DECLARE_FPAGE(0x0, 8 * UTCB_SIZE + 8 * STACK_SIZE) + DECLARE_FPAGE(0x0, 512) +); From dfe5fec39a2d2f4a5fa2efec606d2c050c0a6baf Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 25 Feb 2019 17:00:41 +0000 Subject: [PATCH 15/28] Modifications to pingpong user app to successfully flash the GPIO LEDs. --- user/apps/build.mk | 3 ++- user/apps/pingpong/main.c | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/user/apps/build.mk b/user/apps/build.mk index 858c54aa..a595260f 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,13 +3,14 @@ # found in the LICENSE file. user-apps-dirs = \ - 3ping + pingpong # gpioer \ # l4test \ # pingpong # altpingpong # 3ping +# generic_thread ifdef CONFIG_EXTI_INTERRUPT_TEST diff --git a/user/apps/pingpong/main.c b/user/apps/pingpong/main.c index d7d52054..730c576a 100644 --- a/user/apps/pingpong/main.c +++ b/user/apps/pingpong/main.c @@ -86,8 +86,10 @@ void *ping_thread(void *arg) L4_Word_t count = 0; + bool flag = true; + printf("ping_thread(): built-in leds blinking\n"); - //led_init(); + led_init(); while (1) { printf("ping_thread(%d)\t", count); @@ -103,6 +105,10 @@ void *ping_thread(void *arg) printf("%p: send ipc fails\n", L4_MyGlobalId()); printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); } + + leds_onoff(flag); + L4_Sleep(L4_TimePeriod(1000 * 1000)); + flag=!flag; } } @@ -143,10 +149,14 @@ static void *main(void *user) return 0; } +#define DEV_SIZE 0x3c00 +#define AHB1_1DEV 0x40020000 + DECLARE_USER( 0, pingpong, main, DECLARE_FPAGE(0x0, 4 * UTCB_SIZE + 4 * STACK_SIZE) DECLARE_FPAGE(0x0, 512) + DECLARE_FPAGE(AHB1_1DEV, DEV_SIZE) ); From aec66b183b6834d864dd7a83abe7394182ad6334 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 25 Feb 2019 17:24:02 +0000 Subject: [PATCH 16/28] More interesting sequencing of the GPIO LEDs. --- user/apps/pingpong/main.c | 58 +++++++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/user/apps/pingpong/main.c b/user/apps/pingpong/main.c index 730c576a..bd9d8e8f 100644 --- a/user/apps/pingpong/main.c +++ b/user/apps/pingpong/main.c @@ -14,9 +14,9 @@ #define STACK_SIZE 512 -enum { PING_THREAD, PONG_THREAD }; +enum { PING_THREAD, PONG_THREAD, BUTTON_MONITOR_THREAD }; -static L4_ThreadId_t threads[2] __USER_DATA; +static L4_ThreadId_t threads[3] __USER_DATA; #define LABEL 0x1 @@ -54,11 +54,11 @@ static inline void led_init(void) } __USER_TEXT -static inline void leds_onoff(bool on) +static inline void leds_onoff(int count) { for (int i = 0; i < BOARD_LED_NUM; ++i) { - if (on) + if ((count % 4) == i) gpio_out_high(BOARD_LED_PORT, board_leds[i]); else gpio_out_low(BOARD_LED_PORT, board_leds[i]); @@ -86,7 +86,7 @@ void *ping_thread(void *arg) L4_Word_t count = 0; - bool flag = true; +// bool flag = true; printf("ping_thread(): built-in leds blinking\n"); led_init(); @@ -106,12 +106,49 @@ void *ping_thread(void *arg) printf("%p: ErrorCode = 0x%x\n", L4_MyGlobalId(), L4_ErrorCode()); } - leds_onoff(flag); + leds_onoff(count); L4_Sleep(L4_TimePeriod(1000 * 1000)); - flag=!flag; +// flag=!flag; } } + +/* STM32F407-Discovery + * User Button connected on PA0 + * as result, for this demo app, + * Because USART4 (PA0, PA1) is conflict, + * choose USART1 (PA9,PA10) or USART2 (PA2,PA3) instead. + **/ + +#define BUTTON_USER_PIN 0 + +/* if you use external button, please + * update the BUTTON_CUSTOM_PIN with your own number + **/ + +#define BUTTON_CUSTOM_PIN BUTTON_USER_PIN + +__USER_TEXT +void *button_monitor_thread(void *arg) +{ + int count = 1; + + printf("button_monitor_thread(0): built-in user button detection\n"); + L4_Sleep(L4_TimePeriod(500 * 1000)); + printf("button_monitor_thread(1): built-in user button detection\n"); + gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); + printf("button_monitor_thread(2): built-in user button detection\n"); + while (1) + { + uint8_t state = gpio_input_bit(GPIOA, BUTTON_CUSTOM_PIN); + if (state != 0) { + printf("button %s %d times\n", state == 0 ? "open" : "pushed", count); + count++; + } + L4_Sleep(L4_TimePeriod(1000 * 200)); + } +} + __USER_TEXT void *pong_thread(void *arg) { @@ -144,8 +181,12 @@ static void *main(void *user) { threads[PING_THREAD] = pager_create_thread(); threads[PONG_THREAD] = pager_create_thread(); + threads[BUTTON_MONITOR_THREAD] = pager_create_thread(); + pager_start_thread(threads[PING_THREAD], ping_thread, NULL); pager_start_thread(threads[PONG_THREAD], pong_thread, NULL); +// pager_start_thread(threads[BUTTON_MONITOR_THREAD], button_monitor_thread, NULL); + return 0; } @@ -156,7 +197,8 @@ DECLARE_USER( 0, pingpong, main, - DECLARE_FPAGE(0x0, 4 * UTCB_SIZE + 4 * STACK_SIZE) + DECLARE_FPAGE(0x0, 6 * UTCB_SIZE + 6 * STACK_SIZE) DECLARE_FPAGE(0x0, 512) + /* map thread with AHB DEVICE for gpio accessing */ DECLARE_FPAGE(AHB1_1DEV, DEV_SIZE) ); From 5cd9cd1428e4ec7ad01b0b41637a7faedaae2b61 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Tue, 26 Feb 2019 12:27:04 +0000 Subject: [PATCH 17/28] Modified the usr/app/gpioer/main.c to properly compile and execute within the master f-kernel branch. --- user/apps/build.mk | 2 +- user/apps/gpioer/main.c | 122 ++++++++++++++++------------------------ 2 files changed, 48 insertions(+), 76 deletions(-) diff --git a/user/apps/build.mk b/user/apps/build.mk index a595260f..4d3c24f5 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,7 +3,7 @@ # found in the LICENSE file. user-apps-dirs = \ - pingpong + gpioer # gpioer \ # l4test \ diff --git a/user/apps/gpioer/main.c b/user/apps/gpioer/main.c index e7a29898..35443363 100644 --- a/user/apps/gpioer/main.c +++ b/user/apps/gpioer/main.c @@ -10,15 +10,15 @@ #include #include -#define STACK_SIZE 256 +/* Changed stack size from 256 to 512. */ +#define STACK_SIZE 512 enum { GPIOER_THREAD, BUTTON_MONITOR_THREAD }; static L4_ThreadId_t threads[2] __USER_DATA; -static L4_Word_t last_thread __USER_DATA; -static L4_Word_t free_mem __USER_DATA; - +/* Remove last_thread and free_mem as they are no longer + required to launch and manage the threads. */ #define BOARD_LED_PORT GPIOD #define BOARD_LED_NUM 4 @@ -29,43 +29,41 @@ static L4_Word_t free_mem __USER_DATA; static uint8_t board_leds[BOARD_LED_NUM] __USER_DATA; -__USER_TEXT -static inline void led_init(void) +static inline void __USER_TEXT led_init(void) { - board_leds[0] = BOARD_LED_PIN1; - board_leds[1] = BOARD_LED_PIN2; - board_leds[2] = BOARD_LED_PIN3; - board_leds[3] = BOARD_LED_PIN4; - - for (int i = 0; i < BOARD_LED_NUM; ++i) - { - gpio_config_output(BOARD_LED_PORT, - board_leds[i], - GPIO_PUPDR_UP, - GPIO_OSPEEDR_50M); - } + board_leds[0] = BOARD_LED_PIN1; + board_leds[1] = BOARD_LED_PIN2; + board_leds[2] = BOARD_LED_PIN3; + board_leds[3] = BOARD_LED_PIN4; + + for (int i = 0; i < BOARD_LED_NUM; ++i) + { + gpio_config_output(BOARD_LED_PORT, + board_leds[i], + GPIO_PUPDR_UP, + GPIO_OSPEEDR_50M); + } } -__USER_TEXT -static inline void leds_onoff(bool on) +static inline void __USER_TEXT leds_onoff(bool on) { - for (int i = 0; i < BOARD_LED_NUM; ++i) - { - if (on) + for (int i = 0; i < BOARD_LED_NUM; ++i) + { + if (on) gpio_out_high(BOARD_LED_PORT, board_leds[i]); else gpio_out_low(BOARD_LED_PORT, board_leds[i]); - } + } } - +/* Thread function signature changed to confirm to pager_start_thread(). */ __USER_TEXT -void gpioer_thread(void) +void *gpioer_thread(void *arg) { - bool flag = true; + bool flag = true; - printf("gpioer thread: built-in leds blinking\n"); + printf("gpioer thread: built-in leds blinking\n"); led_init(); while (1) { @@ -91,13 +89,14 @@ void gpioer_thread(void) #define BUTTON_CUSTOM_PIN BUTTON_USER_PIN +/* Thread function signature changed to confirm to pager_start_thread(). */ __USER_TEXT -void button_monitor_thread(void) +void *button_monitor_thread(void *arg) { int count = 1; gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); - printf("thread: built-in user button detection\n"); + printf("thread: built-in user button detection\n"); while (1) { uint8_t state = gpio_input_bit(GPIOA, BUTTON_CUSTOM_PIN); @@ -109,62 +108,35 @@ void button_monitor_thread(void) } } +/* main() signature changed. */ __USER_TEXT -static void start_thread(L4_ThreadId_t t, L4_Word_t ip, - L4_Word_t sp, L4_Word_t stack_size) +static void *main(void *user) { - L4_Msg_t msg; + threads[GPIOER_THREAD] = pager_create_thread(); + threads[BUTTON_MONITOR_THREAD] = pager_create_thread(); - L4_MsgClear(&msg); - L4_MsgAppendWord(&msg, ip); - L4_MsgAppendWord(&msg, sp); - L4_MsgAppendWord(&msg, stack_size); - L4_MsgLoad(&msg); + pager_start_thread(threads[GPIOER_THREAD], gpioer_thread, NULL); +// pager_start_thread(threads[BUTTON_MONITOR_THREAD], button_monitor_thread, NULL); - L4_Send(t); + /* Return statement required. */ + return 0; } -__USER_TEXT -static L4_ThreadId_t create_thread(user_struct *user, void (*func)(void)) -{ - L4_ThreadId_t myself = L4_MyGlobalId(); - L4_ThreadId_t child; - - child.raw = myself.raw + (++last_thread << 14); - - L4_ThreadControl(child, myself, L4_nilthread, myself, (void *) free_mem); - free_mem += UTCB_SIZE + STACK_SIZE; - - start_thread(child, (L4_Word_t)func, free_mem, STACK_SIZE); +/* Function start_thread() no longer required because we are using pager_start_thread(). */ - return child; -} - -__USER_TEXT -static void *main(void *p) -{ - printf("ping_thread(): built-in leds blinking\n"); - user_struct *user = (user_struct *)p; - printf("ping_thread(): built-in leds blinking\n"); - free_mem = user->fpages[0].base; - - printf("ping_thread(): built-in leds blinking\n"); - threads[GPIOER_THREAD] = create_thread(user, gpioer_thread); - printf("ping_thread(): built-in leds blinking\n"); - threads[BUTTON_MONITOR_THREAD] = create_thread(user, button_monitor_thread); - printf("ping_thread(): built-in leds blinking\n"); - - return 0; -} +/* Function create_thread() no longer required because we are using pager_start_thread(). */ #define DEV_SIZE 0x3c00 #define AHB1_1DEV 0x40020000 DECLARE_USER( - 0, - gpioer, - main, - DECLARE_FPAGE(0x0, 2 * UTCB_SIZE + 2 * STACK_SIZE) + 0, + gpioer, + main, + /* was DECLARE_FPAGE(0x0, 2 * UTCB_SIZE + 2 * STACK_SIZE) */ + DECLARE_FPAGE(0x0, 4 * UTCB_SIZE + 4 * STACK_SIZE) + /* Added this next line. */ + DECLARE_FPAGE(0x0, 512) /* map thread with AHB DEVICE for gpio accessing */ - DECLARE_FPAGE(AHB1_1DEV, DEV_SIZE) + DECLARE_FPAGE(AHB1_1DEV, DEV_SIZE) ); From 205d9137802dbcabde7b7496739e187b75a39a9e Mon Sep 17 00:00:00 2001 From: ab1aw Date: Tue, 26 Feb 2019 12:32:16 +0000 Subject: [PATCH 18/28] More interesting LED blinking sequence for usr/app/gpioer. --- user/apps/gpioer/main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/apps/gpioer/main.c b/user/apps/gpioer/main.c index 35443363..023ce2f1 100644 --- a/user/apps/gpioer/main.c +++ b/user/apps/gpioer/main.c @@ -46,11 +46,11 @@ static inline void __USER_TEXT led_init(void) } } -static inline void __USER_TEXT leds_onoff(bool on) +static inline void __USER_TEXT leds_onoff(int count) { for (int i = 0; i < BOARD_LED_NUM; ++i) { - if (on) + if ((count % 4) == i) gpio_out_high(BOARD_LED_PORT, board_leds[i]); else gpio_out_low(BOARD_LED_PORT, board_leds[i]); @@ -61,15 +61,15 @@ static inline void __USER_TEXT leds_onoff(bool on) __USER_TEXT void *gpioer_thread(void *arg) { - bool flag = true; + int count = 0; printf("gpioer thread: built-in leds blinking\n"); led_init(); while (1) { - leds_onoff(flag); + printf("gpioer thread: built-in leds blinking - count %d\n", count); + leds_onoff(count++); L4_Sleep(L4_TimePeriod(1000 * 1000)); - flag=!flag; } } From 4023e62a118c46b6952bf737f555d0337e6c75d0 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Tue, 26 Feb 2019 12:36:42 +0000 Subject: [PATCH 19/28] Attempting to understand why the following line does not execute properly in button_monitor_thread() : gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); --- user/apps/gpioer/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/apps/gpioer/main.c b/user/apps/gpioer/main.c index 023ce2f1..6041aa97 100644 --- a/user/apps/gpioer/main.c +++ b/user/apps/gpioer/main.c @@ -95,7 +95,7 @@ void *button_monitor_thread(void *arg) { int count = 1; - gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); +// gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); printf("thread: built-in user button detection\n"); while (1) { @@ -116,7 +116,7 @@ static void *main(void *user) threads[BUTTON_MONITOR_THREAD] = pager_create_thread(); pager_start_thread(threads[GPIOER_THREAD], gpioer_thread, NULL); -// pager_start_thread(threads[BUTTON_MONITOR_THREAD], button_monitor_thread, NULL); + pager_start_thread(threads[BUTTON_MONITOR_THREAD], button_monitor_thread, NULL); /* Return statement required. */ return 0; @@ -134,7 +134,7 @@ DECLARE_USER( gpioer, main, /* was DECLARE_FPAGE(0x0, 2 * UTCB_SIZE + 2 * STACK_SIZE) */ - DECLARE_FPAGE(0x0, 4 * UTCB_SIZE + 4 * STACK_SIZE) + DECLARE_FPAGE(0x0, 6 * UTCB_SIZE + 6 * STACK_SIZE) /* Added this next line. */ DECLARE_FPAGE(0x0, 512) /* map thread with AHB DEVICE for gpio accessing */ From 68f4b9929d556c0ea04ff547c1156072001f6493 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Tue, 26 Feb 2019 14:01:10 +0000 Subject: [PATCH 20/28] Resolved problem w/ user button detection. Problem was due to button and USART sharing same GPIO of PA0,PA1. Moved USART to use PA2,PA3. --- user/apps/gpioer/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/apps/gpioer/main.c b/user/apps/gpioer/main.c index 6041aa97..38b2deab 100644 --- a/user/apps/gpioer/main.c +++ b/user/apps/gpioer/main.c @@ -69,7 +69,7 @@ void *gpioer_thread(void *arg) { printf("gpioer thread: built-in leds blinking - count %d\n", count); leds_onoff(count++); - L4_Sleep(L4_TimePeriod(1000 * 1000)); + L4_Sleep(L4_TimePeriod(500 * 1000)); } } From 01b22b95ff4024a54d70ba35c65fb2b683109105 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Tue, 26 Feb 2019 15:33:29 +0000 Subject: [PATCH 21/28] More diddling with the button thread and LED sequencing. --- user/apps/gpioer/main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/apps/gpioer/main.c b/user/apps/gpioer/main.c index 38b2deab..02c0096a 100644 --- a/user/apps/gpioer/main.c +++ b/user/apps/gpioer/main.c @@ -28,6 +28,8 @@ static L4_ThreadId_t threads[2] __USER_DATA; #define BOARD_LED_PIN4 15 static uint8_t board_leds[BOARD_LED_NUM] __USER_DATA; +static int count __USER_DATA; + static inline void __USER_TEXT led_init(void) { @@ -61,8 +63,6 @@ static inline void __USER_TEXT leds_onoff(int count) __USER_TEXT void *gpioer_thread(void *arg) { - int count = 0; - printf("gpioer thread: built-in leds blinking\n"); led_init(); while (1) @@ -93,9 +93,7 @@ void *gpioer_thread(void *arg) __USER_TEXT void *button_monitor_thread(void *arg) { - int count = 1; - -// gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); + gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); printf("thread: built-in user button detection\n"); while (1) { @@ -112,6 +110,8 @@ void *button_monitor_thread(void *arg) __USER_TEXT static void *main(void *user) { + count = 0; + threads[GPIOER_THREAD] = pager_create_thread(); threads[BUTTON_MONITOR_THREAD] = pager_create_thread(); From 08ba6c845ac911a74e51001f202b13ed36c34640 Mon Sep 17 00:00:00 2001 From: ab1aw Date: Tue, 26 Feb 2019 17:44:05 +0000 Subject: [PATCH 22/28] Issue #157 - Demonstration of possible implementation to resolve this issue: support for pager_start_thread() arg parameter. --- user/apps/gpioer/main.c | 10 ++++++++-- user/lib/l4/pager.c | 9 ++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/user/apps/gpioer/main.c b/user/apps/gpioer/main.c index 02c0096a..74d10b18 100644 --- a/user/apps/gpioer/main.c +++ b/user/apps/gpioer/main.c @@ -63,6 +63,7 @@ static inline void __USER_TEXT leds_onoff(int count) __USER_TEXT void *gpioer_thread(void *arg) { + printf("\nENTER gpioer_thread(%p)\n", arg); printf("gpioer thread: built-in leds blinking\n"); led_init(); while (1) @@ -71,6 +72,7 @@ void *gpioer_thread(void *arg) leds_onoff(count++); L4_Sleep(L4_TimePeriod(500 * 1000)); } + printf("\nEXIT gpioer_thread()\n"); } @@ -93,6 +95,7 @@ void *gpioer_thread(void *arg) __USER_TEXT void *button_monitor_thread(void *arg) { + printf("\nENTER button_monitor_thread(%p)\n", arg); gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); printf("thread: built-in user button detection\n"); while (1) @@ -104,21 +107,24 @@ void *button_monitor_thread(void *arg) } L4_Sleep(L4_TimePeriod(1000 * 200)); } + printf("\nEXIT button_monitor_thread()\n"); } /* main() signature changed. */ __USER_TEXT static void *main(void *user) { + printf("\nENTER main(%p)\n", user); count = 0; threads[GPIOER_THREAD] = pager_create_thread(); threads[BUTTON_MONITOR_THREAD] = pager_create_thread(); - pager_start_thread(threads[GPIOER_THREAD], gpioer_thread, NULL); - pager_start_thread(threads[BUTTON_MONITOR_THREAD], button_monitor_thread, NULL); + pager_start_thread(threads[GPIOER_THREAD], gpioer_thread, gpioer_thread); + pager_start_thread(threads[BUTTON_MONITOR_THREAD], button_monitor_thread, button_monitor_thread); /* Return statement required. */ + printf("\nEXIT main()\n"); return 0; } diff --git a/user/lib/l4/pager.c b/user/lib/l4/pager.c index c5f02da3..a4f97366 100644 --- a/user/lib/l4/pager.c +++ b/user/lib/l4/pager.c @@ -150,7 +150,9 @@ void thread_container(kip_t *kip_ptr, utcb_t *utcb_ptr, L4_Word_t entry, L4_Word_t entry_arg) { L4_Msg_t msg; + printf("\nthread_container(0) %p %p\n", entry, entry_arg); ((thr_handler_t *)entry)((void *)entry_arg); + printf("\nthread_container(1) %p %p\n", entry, entry_arg); L4_MsgClear(&msg); L4_Set_MsgLabel(&msg, PAGER_REQUEST_LABEL); @@ -259,7 +261,7 @@ L4_Word_t pager_start_thread(L4_ThreadId_t tid, void * (*thr_routine)(void *), L4_MsgAppendWord(&msg, THREAD_START); L4_MsgAppendWord(&msg, (L4_Word_t)tid.raw); L4_MsgAppendWord(&msg, (L4_Word_t)thr_routine); - /* TODO: Ignore arg now */ + L4_MsgAppendWord(&msg, (L4_Word_t)arg); L4_MsgLoad(&msg); tag = L4_Call(L4_Pager()); @@ -334,14 +336,15 @@ void pager_thread(user_struct *user, break; case THREAD_START: { L4_Word_t entry; + L4_Word_t entry_arg; L4_ThreadId_t tid; L4_Word_t ret; tid.raw = L4_MsgWord(&msg, 1); entry = L4_MsgWord(&msg, 2); - /* TODO : ignore entry argument now */ + entry_arg = L4_MsgWord(&msg, 3); - ret = __thread_start(pool, tid, entry, 0); + ret = __thread_start(pool, tid, entry, entry_arg); L4_MsgClear(&msg); L4_Set_Label(&msg.tag, PAGER_REPLY_LABEL); From 17aee1e9c27fad7eb8f06a7150639bafac6bec8d Mon Sep 17 00:00:00 2001 From: ab1aw Date: Thu, 28 Feb 2019 22:37:45 +0000 Subject: [PATCH 23/28] First cut at adding I2C support for platform STM32F407G-DISC1. Copied platform/stm32f429/i2c.c to platform/stm32f4/i2c.c. Added calls to initialize I2C in main() of new i2c/main.c. Successfully compiled and executed. --- platform/stm32f4/build.mk | 3 +- platform/stm32f4/i2c.c | 181 ++++++++++++++++++++++++++++++++++ user/apps/build.mk | 3 +- user/apps/i2c/build.mk | 6 ++ user/apps/i2c/main.c | 201 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 392 insertions(+), 2 deletions(-) create mode 100644 platform/stm32f4/i2c.c create mode 100644 user/apps/i2c/build.mk create mode 100644 user/apps/i2c/main.c diff --git a/platform/stm32f4/build.mk b/platform/stm32f4/build.mk index e93c0b42..9cc0f949 100644 --- a/platform/stm32f4/build.mk +++ b/platform/stm32f4/build.mk @@ -2,7 +2,8 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -chip-y = +chip-y = \ + i2c.o \ loader-chip-y = \ gpio.loader.o \ diff --git a/platform/stm32f4/i2c.c b/platform/stm32f4/i2c.c new file mode 100644 index 00000000..df7bff20 --- /dev/null +++ b/platform/stm32f4/i2c.c @@ -0,0 +1,181 @@ +#include +#include + +/* I2C register mask */ +#define CR1_CLEAR_MASK ((uint16_t)0xFBF5) +/* Flag mask */ +#define FLAG_MASK ((uint32_t)0x00FFFFFF) + +void __USER_TEXT i2c_reset(uint32_t i2cx) +{ + /* TODO: assertion */ + + if (i2cx == I2C1_BASE) { + RCC_APB1PeriphResetCmd(RCC_APB1RSTR_I2C1RST, 1); + RCC_APB1PeriphResetCmd(RCC_APB1RSTR_I2C1RST, 0); + } else if (i2cx == I2C2_BASE) { + RCC_APB1PeriphResetCmd(RCC_APB1RSTR_I2C2RST, 1); + RCC_APB1PeriphResetCmd(RCC_APB1RSTR_I2C2RST, 0); + } else if (i2cx == I2C3_BASE) { + RCC_APB1PeriphResetCmd(RCC_APB1RSTR_I2C2RST, 1); + RCC_APB1PeriphResetCmd(RCC_APB1RSTR_I2C2RST, 0); + } +} + +void __USER_TEXT i2c_config(uint32_t i2cx, struct i2c_cfg* cfg) +{ + uint16_t tmpreg = 0, freqrange = 0; + uint16_t result = 0x04; + uint32_t pclk1 = 8000000; + struct rcc_clocks clocks; + /* TODO: assertion */ + + tmpreg = *I2C_CR2(i2cx); + tmpreg &= (uint16_t)~((uint16_t)I2C_CR2_FREQ_ALL); + + RCC_GetClocksFreq(&clocks); + pclk1 = clocks.pclk1_freq; + + freqrange = (uint16_t)(pclk1 / 1000000); + tmpreg |= freqrange; + + *I2C_CR2(i2cx) = tmpreg; + + *I2C_CR1(i2cx) &= (uint16_t)~((uint16_t)I2C_CR1_PE); + tmpreg = 0; + + if (cfg->clock_speed <= 100000) { + result = (uint16_t)(pclk1 / (cfg->clock_speed << 1)); + + if (result < 0x04) + result = 0x04; + + tmpreg |= result; + *I2C_TRISE(i2cx) = freqrange + 1; + } else { + if (cfg->duty_cycle == I2C_DutyCycle_2) { + result = (uint16_t)(pclk1 / (cfg->clock_speed * 3)); + } else { + result = (uint16_t)(pclk1 / (cfg->clock_speed * 25)); + result |= I2C_DutyCycle_16_9; + } + + if ((I2C_CCR_CCR(result)) == 0) + result |= (uint16_t)0x0001; + + tmpreg |= (uint16_t)(result | I2C_CCR_FS); + *I2C_TRISE(i2cx) = (uint16_t)(((freqrange * (uint16_t)300) / (uint16_t)1000) + (uint16_t)1); + } + *I2C_CCR(i2cx) = tmpreg; + *I2C_CR1(i2cx) |= I2C_CR1_PE; + + tmpreg = *I2C_CR1(i2cx); + tmpreg &= CR1_CLEAR_MASK; + + tmpreg |= (uint16_t)((uint32_t)cfg->mode | cfg->ack); + *I2C_CR1(i2cx) = tmpreg; + + *I2C_OAR1(i2cx) = (cfg->acknowledged_address | cfg->own_address); +} + +void __USER_TEXT i2c_cmd(uint32_t i2cx, uint8_t enable) +{ + /* TODO: assertion */ + + if (enable != 0) + *I2C_CR1(i2cx) |= I2C_CR1_PE; + else + *I2C_CR1(i2cx) &= (uint16_t)~((uint16_t)I2C_CR1_PE); +} + +void __USER_TEXT i2c_generate_start(uint32_t i2cx, uint8_t enable) +{ + /* TODO: assertion */ + + if (enable != 0) + *I2C_CR1(i2cx) |= I2C_CR1_START; + else + *I2C_CR1(i2cx) &= (uint16_t)~((uint16_t)I2C_CR1_START); +} + +uint8_t __USER_TEXT i2c_get_flag(uint32_t i2cx, uint32_t flag) +{ + uint8_t bitstatus = 0; + volatile uint32_t i2creg = 0, i2cxbase = 0; + + /* TODO: assertion */ + + i2cxbase = (uint32_t)i2cx; + i2creg = flag >> 28; + + flag &= FLAG_MASK; + + if (i2creg != 0) { + i2cxbase += 0x14; + } else { + flag = (uint32_t)(flag >> 16); + i2cxbase += 0x18; + } + + if (((*(volatile uint32_t *)i2cxbase) & flag) != (uint32_t)0) + bitstatus = 1; + else + bitstatus = 0; + + return bitstatus; +} + +void __USER_TEXT i2c_acknowledge_config(uint32_t i2cx, uint8_t enable) +{ + /* TODO: assertion */ + if (enable != 0) + *I2C_CR1(i2cx) |= I2C_CR1_ACK; + else + *I2C_CR1(i2cx) &= (uint16_t)~((uint16_t)I2C_CR1_ACK); +} + +void __USER_TEXT i2c_send_7bit_address(uint32_t i2cx, uint8_t address, uint8_t direction) +{ + /* TODO: assertion */ + + if (direction != I2C_Direction_Transmitter) + address |= I2C_OAR1_ADD(0); + else + address &= (uint8_t)~((uint8_t)I2C_OAR1_ADD(0)); + + *I2C_DR(i2cx) = address; +} + +void __USER_TEXT i2c_generate_stop(uint32_t i2cx, uint8_t enable) +{ + /* TODO: assertion */ + + if (enable != 0) + *I2C_CR1(i2cx) |= I2C_CR1_STOP; + else + *I2C_CR1(i2cx) &= (uint16_t)~((uint16_t)I2C_CR1_STOP); +} + +void __USER_TEXT i2c_software_reset_cmd(uint32_t i2cx, uint8_t enable) +{ + /* TODO: assertion */ + + if (enable != 0) + *I2C_CR1(i2cx) |= I2C_CR1_SWRST; + else + *I2C_CR1(i2cx) &= (uint16_t)~((uint16_t)I2C_CR1_SWRST); +} + +void __USER_TEXT i2c_send(uint32_t i2cx, uint8_t data) +{ + /* TODO: assertion */ + + *I2C_DR(i2cx) = data; +} + +uint8_t __USER_TEXT i2c_receive(uint32_t i2cx) +{ + /* TODO: assertion */ + + return (uint8_t)(*I2C_DR(i2cx)); +} diff --git a/user/apps/build.mk b/user/apps/build.mk index 4d3c24f5..6ee69712 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,7 +3,7 @@ # found in the LICENSE file. user-apps-dirs = \ - gpioer + i2c # gpioer \ # l4test \ @@ -11,6 +11,7 @@ user-apps-dirs = \ # altpingpong # 3ping # generic_thread +# i2c ifdef CONFIG_EXTI_INTERRUPT_TEST diff --git a/user/apps/i2c/build.mk b/user/apps/i2c/build.mk new file mode 100644 index 00000000..31b85238 --- /dev/null +++ b/user/apps/i2c/build.mk @@ -0,0 +1,6 @@ +# Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +user-apps-i2c-y = \ + main.o diff --git a/user/apps/i2c/main.c b/user/apps/i2c/main.c new file mode 100644 index 00000000..6de60670 --- /dev/null +++ b/user/apps/i2c/main.c @@ -0,0 +1,201 @@ +/* Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include +#include +#include +#include +#include +#include + +//#include +#include +#include + + +/* Changed stack size from 256 to 512. */ +#define STACK_SIZE 512 + +enum { GPIOER_THREAD, BUTTON_MONITOR_THREAD }; + +static L4_ThreadId_t threads[2] __USER_DATA; + +/* Remove last_thread and free_mem as they are no longer + required to launch and manage the threads. */ +#define BOARD_LED_PORT GPIOD +#define BOARD_LED_NUM 4 + +#define BOARD_LED_PIN1 12 +#define BOARD_LED_PIN2 13 +#define BOARD_LED_PIN3 14 +#define BOARD_LED_PIN4 15 + +static uint8_t board_leds[BOARD_LED_NUM] __USER_DATA; +static int count __USER_DATA; + + +static inline void __USER_TEXT led_init(void) +{ + + board_leds[0] = BOARD_LED_PIN1; + board_leds[1] = BOARD_LED_PIN2; + board_leds[2] = BOARD_LED_PIN3; + board_leds[3] = BOARD_LED_PIN4; + + for (int i = 0; i < BOARD_LED_NUM; ++i) + { + gpio_config_output(BOARD_LED_PORT, + board_leds[i], + GPIO_PUPDR_UP, + GPIO_OSPEEDR_50M); + } +} + +static inline void __USER_TEXT leds_onoff(int count) +{ + for (int i = 0; i < BOARD_LED_NUM; ++i) + { + if ((count % 4) == i) + gpio_out_high(BOARD_LED_PORT, board_leds[i]); + else + gpio_out_low(BOARD_LED_PORT, board_leds[i]); + } +} + +/* Thread function signature changed to confirm to pager_start_thread(). */ +__USER_TEXT +void *gpioer_thread(void *arg) +{ + printf("\nENTER gpioer_thread(%p)\n", arg); + printf("gpioer thread: built-in leds blinking\n"); + led_init(); + while (1) + { + printf("gpioer thread: built-in leds blinking - count %d\n", count); + leds_onoff(count++); + L4_Sleep(L4_TimePeriod(500 * 1000)); + } + printf("\nEXIT gpioer_thread()\n"); +} + + +/* STM32F407-Discovery + * User Button connected on PA0 + * as result, for this demo app, + * Because USART4 (PA0, PA1) is conflict, + * choose USART1 (PA9,PA10) or USART2 (PA2,PA3) instead. + **/ + +#define BUTTON_USER_PIN 0 + +/* if you use external button, please + * update the BUTTON_CUSTOM_PIN with your own number + **/ + +#define BUTTON_CUSTOM_PIN BUTTON_USER_PIN + +/* Thread function signature changed to confirm to pager_start_thread(). */ +__USER_TEXT +void *button_monitor_thread(void *arg) +{ + printf("\nENTER button_monitor_thread(%p)\n", arg); + gpio_config_input(GPIOA, BUTTON_CUSTOM_PIN, GPIO_PUPDR_DOWN); + printf("thread: built-in user button detection\n"); + while (1) + { + uint8_t state = gpio_input_bit(GPIOA, BUTTON_CUSTOM_PIN); + if (state != 0) { + printf("button %s %d times\n", state == 0 ? "open" : "pushed", count); + count++; + } + L4_Sleep(L4_TimePeriod(1000 * 200)); + } + printf("\nEXIT button_monitor_thread()\n"); +} + +/* main() signature changed. */ +__USER_TEXT +static void *main(void *user) +{ + printf("\nENTER main(%p)\n", user); + count = 0; + + threads[GPIOER_THREAD] = pager_create_thread(); + threads[BUTTON_MONITOR_THREAD] = pager_create_thread(); + + pager_start_thread(threads[GPIOER_THREAD], gpioer_thread, gpioer_thread); + pager_start_thread(threads[BUTTON_MONITOR_THREAD], button_monitor_thread, button_monitor_thread); +#if 1 + { + struct i2c_cfg i2c_init; +#if 0 + printf("main(%d)\n", __LINE__); + i2c_generate_stop(I2C3_BASE, 1); + printf("main(%d)\n", __LINE__); + i2c_software_reset_cmd(I2C3_BASE, 1); + printf("main(%d)\n", __LINE__); + i2c_software_reset_cmd(I2C3_BASE, 0); +#endif + printf("main(%d)\n", __LINE__); + +// ioe_gpio_init(); + RCC_AHB1PeriphClockCmd(RCC_APB1ENR_I2C3EN, 1); + + i2c_reset(I2C3_BASE); + printf("main(%d)\n", __LINE__); + + i2c_init.mode = I2C_Mode_I2C; + printf("main(%d)\n", __LINE__); + + i2c_init.duty_cycle = I2C_DutyCycle_2; + printf("main(%d)\n", __LINE__); + + i2c_init.own_address = 0x00; + printf("main(%d)\n", __LINE__); + + i2c_init.ack = I2C_Ack_Enable; + printf("main(%d)\n", __LINE__); + + i2c_init.acknowledged_address = I2C_AcknowledgedAddress_7bit; + printf("main(%d)\n", __LINE__); + + i2c_init.clock_speed = I2C_SPEED; + printf("main(%d)\n", __LINE__); + + i2c_config(I2C3_BASE, &i2c_init); + printf("main(%d)\n", __LINE__); + + i2c_cmd(I2C3_BASE, 1); + printf("main(%d)\n", __LINE__); + } +#endif + /* Return statement required. */ + printf("\nEXIT main()\n"); + return 0; +} + +/* Function start_thread() no longer required because we are using pager_start_thread(). */ + +/* Function create_thread() no longer required because we are using pager_start_thread(). */ + +#define DEV_SIZE 0x3c00 +#define AHB1_1DEV 0x40020000 + +#define APB1_DEV_SIZE 0x7800 +#define APB1DEV 0x40000000 + +DECLARE_USER( + 0, + gpioer, + main, + /* was DECLARE_FPAGE(0x0, 2 * UTCB_SIZE + 2 * STACK_SIZE) */ + DECLARE_FPAGE(0x0, 6 * UTCB_SIZE + 6 * STACK_SIZE) + /* Added this next line. */ + DECLARE_FPAGE(0x0, 512) + /* map thread with APB DEVICE for I2C accessing */ + DECLARE_FPAGE(APB1DEV, APB1_DEV_SIZE) + /* map thread with AHB DEVICE for gpio accessing */ + DECLARE_FPAGE(AHB1_1DEV, DEV_SIZE) +); From d68a2ead327c2a6fac76eb9dc514155099e50d3b Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 4 Mar 2019 16:34:56 +0000 Subject: [PATCH 24/28] Re-implementation of user/apps/generic_thread to use the thread function's parmater void*arg instead of sending a message to it for initialization data. Note that the generic thread (ping_thread(void *arg)) has now only a single L4_Receive() in the while(1) loop; the other L4_Receive() prior to the while(1) loop is removed in favor of using the (void *arg) for initialization data. --- user/apps/build.mk | 3 +- user/apps/generic_thread_arg/build.mk | 6 + user/apps/generic_thread_arg/main.c | 175 ++++++++++++++++++++++++++ 3 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 user/apps/generic_thread_arg/build.mk create mode 100644 user/apps/generic_thread_arg/main.c diff --git a/user/apps/build.mk b/user/apps/build.mk index 6ee69712..0137002d 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,7 +3,7 @@ # found in the LICENSE file. user-apps-dirs = \ - i2c + generic_thread_arg # gpioer \ # l4test \ @@ -12,6 +12,7 @@ user-apps-dirs = \ # 3ping # generic_thread # i2c +# generic_thread_arg ifdef CONFIG_EXTI_INTERRUPT_TEST diff --git a/user/apps/generic_thread_arg/build.mk b/user/apps/generic_thread_arg/build.mk new file mode 100644 index 00000000..11adc8f5 --- /dev/null +++ b/user/apps/generic_thread_arg/build.mk @@ -0,0 +1,6 @@ +# Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +user-apps-generic_thread_arg-y = \ + main.o diff --git a/user/apps/generic_thread_arg/main.c b/user/apps/generic_thread_arg/main.c new file mode 100644 index 00000000..36435c7e --- /dev/null +++ b/user/apps/generic_thread_arg/main.c @@ -0,0 +1,175 @@ +/* Copyright (c) 2013 The F9 Microkernel Project. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define STACK_SIZE 512 + +enum { PING_THREAD = 0, PONG_THREAD, PUNG_THREAD, BOSS_THREAD, THREAD_COUNT}; +static L4_ThreadId_t threads[THREAD_COUNT] __USER_DATA; + +#define LABEL 0x1 + +typedef struct thread_initialization_s { + L4_Word_t this_thread; + L4_Word_t prev_thread_id; + L4_Word_t next_thread_id; +} thread_initialization_t; + +static thread_initialization_t thread_initialization[THREAD_COUNT] __USER_DATA; + + +#if 0 +#define __L4_NUM_MRS 16 +typedef unsigned long L4_Word_t; +/* + * Message objects + */ +typedef union { + L4_Word_t raw[__L4_NUM_MRS]; + L4_Word_t msg[__L4_NUM_MRS]; + L4_MsgTag_t tag; +} L4_Msg_t; +#endif + +__USER_TEXT +void *ping_thread(void *arg) +{ + L4_MsgTag_t tag; + L4_Msg_t msg; + L4_Word_t count = 0; + + L4_Word_t my_thread_id = 0; + L4_Word_t prev_thread_id = 0; + L4_Word_t next_thread_id = 0; + + printf("\nping_thread %p\n", L4_MyGlobalId()); + + thread_initialization_t *thread_initialization_p = (thread_initialization_t *)arg; + my_thread_id = thread_initialization_p->this_thread; + prev_thread_id = thread_initialization_p->prev_thread_id; + next_thread_id = thread_initialization_p->next_thread_id; + + printf("\nping_thread %p %d is initialized : prev_thread_id %d, next_thread_id %d\n", L4_MyGlobalId(), my_thread_id, prev_thread_id, next_thread_id); + + /* WARNING !!! Cannot do this! Apparently, a message cannot be sent to a thread that is not already waiting for it. */ + // L4_Sleep(L4_TimePeriod(500 * 1000)); + + while (1) { + tag = L4_Receive(threads[prev_thread_id]); + L4_MsgStore(tag, &msg); + count = L4_MsgWord(&msg, 0); + prev_thread_id = L4_MsgWord(&msg, 1); + + if (!L4_IpcSucceeded(tag)) { + printf("\nping_thread - %p: recv ipc fails\n", L4_MyGlobalId()); + printf("ping_thread - %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + + printf("\nThread # %d received count %d from thread %d, next %d\n", my_thread_id, count, prev_thread_id, next_thread_id); + + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, ++count); + L4_MsgAppendWord(&msg, my_thread_id); // prev_thread_id for next thread in the sequence. + L4_MsgAppendWord(&msg, next_thread_id); + L4_MsgLoad(&msg); + + tag = L4_Send(threads[next_thread_id]); + + if (!L4_IpcSucceeded(tag)) { + printf("\nping_thread - %p: send ipc fails\n", L4_MyGlobalId()); + printf("ping_thread - %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + } + /* FIXME: workaround solution to avoid scheduler starvation */ + L4_Sleep(L4_TimePeriod(500 * 1000)); + } +} + +__USER_TEXT +void *boss_thread(void *arg) +{ + L4_MsgTag_t tag; + L4_Msg_t msg; + + L4_Word_t this_thread; + + printf("\nboss_thread() %p is running\n", L4_MyGlobalId()); + + // Initialize each thread state. + L4_Word_t prev_thread_id = BOSS_THREAD; + L4_Word_t next_thread_id = PONG_THREAD; + for (this_thread = PING_THREAD; this_thread < BOSS_THREAD; this_thread++) { + + printf("\nInitialize thread state %d %d %d\n", prev_thread_id, this_thread, next_thread_id); + thread_initialization[this_thread].this_thread = this_thread; + thread_initialization[this_thread].prev_thread_id = prev_thread_id; + thread_initialization[this_thread].next_thread_id = next_thread_id; + + printf("\nCreate thread %d\n", this_thread); + threads[this_thread] = pager_create_thread(); + printf("\nStart thread %d\n", this_thread); + pager_start_thread(threads[this_thread], ping_thread, &thread_initialization[this_thread]); + + prev_thread_id = ((++prev_thread_id >= BOSS_THREAD) ? PING_THREAD : prev_thread_id); + next_thread_id = ((++next_thread_id == BOSS_THREAD) ? PING_THREAD : next_thread_id); + } + + // Prime the pump - send a message to kick-off the round-robin pinging among the threads. + { + L4_Word_t count = 0; + + printf("\nPrime the pump %d\n", count); + + L4_MsgClear(&msg); + L4_Set_MsgLabel(&msg, LABEL); + L4_MsgAppendWord(&msg, count); + L4_MsgAppendWord(&msg, PUNG_THREAD); + L4_MsgLoad(&msg); + + tag = L4_Send_Timeout(threads[PING_THREAD], L4_TimePeriod(1000 * 1000)); + + if (!L4_IpcSucceeded(tag)) { + printf("\nboss_thread() %p: send ipc fails\n", L4_MyGlobalId()); + printf("boss_thread() %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + } + else { + printf("\nPump is primed %d\n", count); + } + } + + printf("\nEXITING boot_thread()\n"); + return 0; +} + +__USER_TEXT +static void *main(void *user) +{ + printf("\nmain()\n"); + + threads[BOSS_THREAD] = pager_create_thread(); + pager_start_thread(threads[BOSS_THREAD], boss_thread, NULL); + + printf("\nEXITING main()\n"); + return 0; +} + +// DECLARE_FPAGE(0x0, (number_of_threads * 2 * UTCB_SIZE) + (number_of_threads * 2 * STACK_SIZE)) +DECLARE_USER( + 0, + generic_thread, + main, + DECLARE_FPAGE(0x0, 8 * UTCB_SIZE + 8 * STACK_SIZE) + DECLARE_FPAGE(0x0, 512) +); From 3eb4c6d7eca1e88a9c5abac46184d964f1130b9f Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 4 Mar 2019 17:16:02 +0000 Subject: [PATCH 25/28] Use L4_Receive_Timeout() instead of L4_Receive() to demonstrate the IPC timeout and receovery when a receiving thread timeout occurs in the case of no sending thread. --- user/apps/generic_thread_arg/main.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/user/apps/generic_thread_arg/main.c b/user/apps/generic_thread_arg/main.c index 36435c7e..f4b4451b 100644 --- a/user/apps/generic_thread_arg/main.c +++ b/user/apps/generic_thread_arg/main.c @@ -65,15 +65,20 @@ void *ping_thread(void *arg) // L4_Sleep(L4_TimePeriod(500 * 1000)); while (1) { - tag = L4_Receive(threads[prev_thread_id]); - L4_MsgStore(tag, &msg); - count = L4_MsgWord(&msg, 0); - prev_thread_id = L4_MsgWord(&msg, 1); + tag = L4_Receive_Timeout(threads[prev_thread_id], L4_TimePeriod(1000 * 1000)); if (!L4_IpcSucceeded(tag)) { - printf("\nping_thread - %p: recv ipc fails\n", L4_MyGlobalId()); + printf("\nping_thread - %p, %d: recv ipc fails\n", L4_MyGlobalId(), my_thread_id); printf("ping_thread - %p: ErrorCode = 0x%x %s\n", L4_MyGlobalId(), L4_ErrorCode(), L4_ErrorCode_String(L4_ErrorCode())); + // If there is no message for us then back to the top of this loop to wait again for a message. + continue; } + else { + L4_MsgStore(tag, &msg); + count = L4_MsgWord(&msg, 0); + prev_thread_id = L4_MsgWord(&msg, 1); + } + /* FIXME: workaround solution to avoid scheduler starvation */ L4_Sleep(L4_TimePeriod(500 * 1000)); @@ -86,7 +91,8 @@ void *ping_thread(void *arg) L4_MsgAppendWord(&msg, next_thread_id); L4_MsgLoad(&msg); - tag = L4_Send(threads[next_thread_id]); + tag = L4_Send_Timeout(threads[next_thread_id], + L4_TimePeriod(1000 * 1000)); if (!L4_IpcSucceeded(tag)) { printf("\nping_thread - %p: send ipc fails\n", L4_MyGlobalId()); @@ -149,14 +155,14 @@ void *boss_thread(void *arg) } } - printf("\nEXITING boot_thread()\n"); + printf("\nEXITING boss_thread()\n"); return 0; } __USER_TEXT static void *main(void *user) { - printf("\nmain()\n"); + printf("\nENTERING main()\n"); threads[BOSS_THREAD] = pager_create_thread(); pager_start_thread(threads[BOSS_THREAD], boss_thread, NULL); From 8483e173ec3e48850ecd069c790d5663ceb1dccd Mon Sep 17 00:00:00 2001 From: ab1aw Date: Mon, 4 Mar 2019 17:19:27 +0000 Subject: [PATCH 26/28] Cannot call L4_MsgStore(tag, &msg) or L4_MsgWord(&msg, 0) in the event of an IPC receive timeout condition. --- user/apps/generic_thread_arg/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/user/apps/generic_thread_arg/main.c b/user/apps/generic_thread_arg/main.c index f4b4451b..3c30b0fc 100644 --- a/user/apps/generic_thread_arg/main.c +++ b/user/apps/generic_thread_arg/main.c @@ -74,6 +74,8 @@ void *ping_thread(void *arg) continue; } else { + // Cannot call L4_MsgStore(tag, &msg) or L4_MsgWord(&msg, 0) + // in the event of an IPC receive timeout condition. L4_MsgStore(tag, &msg); count = L4_MsgWord(&msg, 0); prev_thread_id = L4_MsgWord(&msg, 1); From 8f3676ee748ca37db7cc14053ab4021da0ddeaa4 Mon Sep 17 00:00:00 2001 From: "ab1aw@yahoo.com" Date: Thu, 7 Mar 2019 15:03:46 -0500 Subject: [PATCH 27/28] NOTE: Includes enhancements and modifications. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 85c1cd9e..7aacf3c8 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ communications) for ARM Cortex-M series microprocessors with efficiency (performance + power consumption) and security (memory protection + isolated execution) in mind. +Includes enhancements and modifications from master branch. + Characteristics of F9 Microkernel ================================= From 754dc8246ff9462e77d749a43f86a961bf78581c Mon Sep 17 00:00:00 2001 From: "U-MEDACUITY\\mpolia" Date: Thu, 6 Jun 2019 11:34:50 -0400 Subject: [PATCH 28/28] Add commentary to identify LED colors relative to LED pins. --- user/apps/build.mk | 2 +- user/apps/pingpong/main.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/user/apps/build.mk b/user/apps/build.mk index 0137002d..da8e8ccd 100644 --- a/user/apps/build.mk +++ b/user/apps/build.mk @@ -3,7 +3,7 @@ # found in the LICENSE file. user-apps-dirs = \ - generic_thread_arg + pingpong # gpioer \ # l4test \ diff --git a/user/apps/pingpong/main.c b/user/apps/pingpong/main.c index bd9d8e8f..eecb7f75 100644 --- a/user/apps/pingpong/main.c +++ b/user/apps/pingpong/main.c @@ -23,10 +23,10 @@ static L4_ThreadId_t threads[3] __USER_DATA; #define BOARD_LED_PORT GPIOD #define BOARD_LED_NUM 4 -#define BOARD_LED_PIN1 12 -#define BOARD_LED_PIN2 13 -#define BOARD_LED_PIN3 14 -#define BOARD_LED_PIN4 15 +#define BOARD_LED_PIN1 12 // Grean +#define BOARD_LED_PIN2 13 // Orange +#define BOARD_LED_PIN3 14 // Red +#define BOARD_LED_PIN4 15 // Blue static uint8_t board_leds[BOARD_LED_NUM] __USER_DATA;