From owner-p4-projects@FreeBSD.ORG Sun Jul 29 22:55:14 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6FE2F1065670; Sun, 29 Jul 2012 22:55:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 265D2106566C for ; Sun, 29 Jul 2012 22:55:13 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id F2E738FC0C for ; Sun, 29 Jul 2012 22:55:12 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q6TMtCwX033220 for ; Sun, 29 Jul 2012 22:55:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q6TMtCjR033217 for perforce@freebsd.org; Sun, 29 Jul 2012 22:55:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 29 Jul 2012 22:55:12 GMT Message-Id: <201207292255.q6TMtCjR033217@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2012 22:55:14 -0000 http://p4web.freebsd.org/@@215102?ac=10 Change 215102 by rwatson@rwatson_svr_ctsrd_mipsbuild on 2012/07/29 22:55:09 Revise CHERI_EXCEPTION_RETURN() to install the kernel code capability (KCC) in EPCC before ERET occurs. Currently, the kernel runs in a single security domain described by KCC and the kernel data capability (KDC), and an exception that entered from userspace might later ERET to a kernel thread as a result of a kernel context switch. Because the kernel runs in a single security domain, its context switch code doesn't manage EPCC -- this occurs only for user threads, so it was possible to ERET to kernel using a userspace PCC -- which promptly threw an exception. Now, ERET to kernel is explicitly taught to install KDC in EPCC, so this doesn't happen. Once the kernel starts doing more interesting things with capabilities, more interesting things will need to be done here (and in other spots managing kernel context, such as SAVE/RESTORE_CPU macros used when exceptions fire in kernel). With this change, and following CHERI pipeline reworking, we can now boot CheriBSD single-user in simulation again. Affected files ... .. //depot/projects/ctsrd/cheribsd/src/sys/mips/include/cheriasm.h#5 edit Differences ... ==== //depot/projects/ctsrd/cheribsd/src/sys/mips/include/cheriasm.h#5 (text+ko) ==== @@ -38,10 +38,11 @@ /* * Assembly code to be used in CHERI exception handling and context switching. * - * When entering an exception handler, conditionally save the default user - * data capability. Then install the kernel's default data capability. The - * caller provides a temporary register to use for the purposes of querying - * CP0 SR to determine whether the target is userspace or the kernel. + * When entering an exception handler from userspace, conditionally save the + * default user data capability. Then install the kernel's default data + * capability. The caller provides a temporary register to use for the + * purposes of querying CP0 SR to determine whether the target is userspace or + * the kernel. */ #define CHERI_EXCEPTION_ENTER(reg) \ mfc0 reg, MIPS_COP_0_STATUS; \ @@ -49,22 +50,32 @@ beq reg, $0, 64f; \ nop; \ cmove $c25, $c0; \ -64: \ - cmove $c0, $c30; + cmove $c0, $c30; \ +64: /* * When returning from an exception, conditionally restore the default user * data capability. The caller provides a temporary register to use for the * purposes of querying CP0 SR to determine whether the target is userspace * or the kernel. + * + * XXXCHERI: We assume that the caller will install an appropriate PCC for a + * return to userspace, but that in the kernel case, we need to install a + * kernel EPCC, potentially overwriting a previously present user EPCC from + * exception entry. Once the kernel does multiple security domains, the + * caller should manage EPCC in that case as well, and we can remove EPCC + * assignment here. */ #define CHERI_EXCEPTION_RETURN(reg) \ mfc0 reg, MIPS_COP_0_STATUS; \ andi reg, reg, SR_KSU_USER; \ beq reg, $0, 65f; \ nop; \ - cmove $c0, $c25; \ -65: + b 66f; \ + cmove $c0, $c25; /* Branch-delay; install UDC in C0. */ \ +65: \ + cmove $c31, $c29; /* Install kernel PCC in EPCC. */ \ +66: /* * Macros to save and restore CP2 registers from pcb.pcb_cp2frame, From owner-p4-projects@FreeBSD.ORG Mon Jul 30 13:58:15 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2879106566C; Mon, 30 Jul 2012 13:58:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5134106564A for ; Mon, 30 Jul 2012 13:58:14 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 9C2718FC12 for ; Mon, 30 Jul 2012 13:58:14 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q6UDwEn6074576 for ; Mon, 30 Jul 2012 13:58:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q6UDwEa5074573 for perforce@freebsd.org; Mon, 30 Jul 2012 13:58:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 30 Jul 2012 13:58:14 GMT Message-Id: <201207301358.q6UDwEa5074573@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215124 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2012 13:58:15 -0000 http://p4web.freebsd.org/@@215124?ac=10 Change 215124 by rwatson@rwatson_svr_ctsrd_mipsbuild on 2012/07/30 13:57:56 When printing out CHERI capabilities for debugging and testing purposes, render the perms field as 16-bit rather than 32-bit. Affected files ... .. //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest.c#2 edit .. //depot/projects/ctsrd/cheribsd/src/sys/mips/cheri/cp2.c#13 edit Differences ... ==== //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest.c#2 (text+ko) ==== @@ -43,7 +43,7 @@ struct capability c; \ \ CP2_CR_GET((crn), c); \ - printf("C%u perms %08jx otype %016jx\n", crn, \ + printf("C%u perms %04jx otype %016jx\n", crn, \ (uintmax_t)c.c_uperms, (uintmax_t)c.u.c_otype); \ printf("\tbase %016jx length %016jx\n", (uintmax_t)c.c_base, \ (uintmax_t)c.c_length); \ ==== //depot/projects/ctsrd/cheribsd/src/sys/mips/cheri/cp2.c#13 (text+ko) ==== @@ -491,7 +491,7 @@ struct chericap c; \ \ CP2_CR_GET((crn), c); \ - db_printf("C%u perms %08jx otype %016jx\n", num, \ + db_printf("C%u perms %04jx otype %016jx\n", num, \ (uintmax_t)c.c_uperms, (uintmax_t)c.u.c_otype); \ db_printf("\tbase %016jx length %016jx\n", (uintmax_t)c.c_base, \ (uintmax_t)c.c_length); \ From owner-p4-projects@FreeBSD.ORG Mon Jul 30 16:33:03 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C38A01065674; Mon, 30 Jul 2012 16:33:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 861D3106566B for ; Mon, 30 Jul 2012 16:33:03 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 6DBD58FC0A for ; Mon, 30 Jul 2012 16:33:03 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q6UGX39R081177 for ; Mon, 30 Jul 2012 16:33:03 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q6UGX3OO081174 for perforce@freebsd.org; Mon, 30 Jul 2012 16:33:03 GMT (envelope-from brooks@freebsd.org) Date: Mon, 30 Jul 2012 16:33:03 GMT Message-Id: <201207301633.q6UGX3OO081174@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215127 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2012 16:33:04 -0000 http://p4web.freebsd.org/@@215127?ac=10 Change 215127 by brooks@brooks_ecr_current on 2012/07/30 16:32:55 Remove showimage, its functionality is now part of mtlctl. Relocate the images that used to be stored in in showimage/images to a new share/ images directory. Affected files ... .. //depot/projects/ctsrd/beribsd/src/ctsrd/Makefile#10 edit .. //depot/projects/ctsrd/beribsd/src/ctsrd/share/Makefile#1 add .. //depot/projects/ctsrd/beribsd/src/ctsrd/share/images/Makefile#1 branch .. //depot/projects/ctsrd/beribsd/src/ctsrd/share/images/booting.png#1 branch .. //depot/projects/ctsrd/beribsd/src/ctsrd/share/images/upgrade-complete.png#1 branch .. //depot/projects/ctsrd/beribsd/src/ctsrd/share/images/upgrade-inprogress.png#1 branch .. //depot/projects/ctsrd/beribsd/src/ctsrd/showimage/Makefile#2 delete .. //depot/projects/ctsrd/beribsd/src/ctsrd/showimage/images/Makefile#3 delete .. //depot/projects/ctsrd/beribsd/src/ctsrd/showimage/images/booting.png#2 delete .. //depot/projects/ctsrd/beribsd/src/ctsrd/showimage/images/upgrade-complete.png#2 delete .. //depot/projects/ctsrd/beribsd/src/ctsrd/showimage/images/upgrade-inprogress.png#2 delete .. //depot/projects/ctsrd/beribsd/src/ctsrd/showimage/showimage.c#3 delete Differences ... ==== //depot/projects/ctsrd/beribsd/src/ctsrd/Makefile#10 (text+ko) ==== @@ -6,8 +6,8 @@ minifile \ mtlctl \ pictview \ - showimage \ spinner \ + share \ wr .include From owner-p4-projects@FreeBSD.ORG Tue Jul 31 21:47:38 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B9751065674; Tue, 31 Jul 2012 21:47:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E19F0106566B for ; Tue, 31 Jul 2012 21:47:37 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id C8FB48FC16 for ; Tue, 31 Jul 2012 21:47:37 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q6VLlbXR062390 for ; Tue, 31 Jul 2012 21:47:37 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q6VLlbxv062387 for perforce@freebsd.org; Tue, 31 Jul 2012 21:47:37 GMT (envelope-from brooks@freebsd.org) Date: Tue, 31 Jul 2012 21:47:37 GMT Message-Id: <201207312147.q6VLlbxv062387@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2012 21:47:38 -0000 http://p4web.freebsd.org/@@215196?ac=10 Change 215196 by brooks@brooks_ecr_current on 2012/07/31 21:47:36 Add two more trivial dialog types. Affected files ... .. //depot/projects/ctsrd/beribsd/src/ctsrd-lib/libde4tc/de4tc.c#13 edit .. //depot/projects/ctsrd/beribsd/src/ctsrd-lib/libde4tc/de4tc.h#11 edit Differences ... ==== //depot/projects/ctsrd/beribsd/src/ctsrd-lib/libde4tc/de4tc.c#13 (text+ko) ==== @@ -738,6 +738,15 @@ ts_drain(); switch (type) { + case FBDT_EAST2CLOSE: + for (;;) { + ts = ts_poll(); + if (ts->ts_gesture == TSG_EAST) { + if (ts_poll()->ts_count != 0) + ts_drain(); + return(FBDA_OK); + } + } case FBDT_PINCH2CLOSE: for (;;) { ts = ts_poll(); @@ -767,6 +776,15 @@ return(FBDA_UP); } } + case FBDT_WEST2CLOSE: + for (;;) { + ts = ts_poll(); + if (ts->ts_gesture == TSG_WEST) { + if (ts_poll()->ts_count != 0) + ts_drain(); + return(FBDA_OK); + } + } default: err(1, "Unhandled dialog type"); } ==== //depot/projects/ctsrd/beribsd/src/ctsrd-lib/libde4tc/de4tc.h#11 (text+ko) ==== @@ -67,8 +67,10 @@ } fb_dialog_action; typedef enum { + FBDT_EAST2CLOSE, FBDT_PINCH2CLOSE, FBDT_PINCH_OR_VSCROLL, + FBDT_WEST2CLOSE, #ifdef NOTYET FBDT_OK, FBDT_OKCANCEL, From owner-p4-projects@FreeBSD.ORG Tue Jul 31 21:57:32 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D559B106567A; Tue, 31 Jul 2012 21:57:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 966101065678 for ; Tue, 31 Jul 2012 21:57:31 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 74EA48FC0C for ; Tue, 31 Jul 2012 21:57:31 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q6VLvVDI062616 for ; Tue, 31 Jul 2012 21:57:31 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q6VLvVPX062613 for perforce@freebsd.org; Tue, 31 Jul 2012 21:57:31 GMT (envelope-from brooks@freebsd.org) Date: Tue, 31 Jul 2012 21:57:31 GMT Message-Id: <201207312157.q6VLvVPX062613@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215197 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2012 21:57:32 -0000 http://p4web.freebsd.org/@@215197?ac=10 Change 215197 by brooks@brooks_ecr_current on 2012/07/31 21:56:49 Add an about box with version information. It is accessble by swiping left to right. To close swipe right to left. Affected files ... .. //depot/projects/ctsrd/beribsd/src/ctsrd/pictview/pictview.c#14 edit Differences ... ==== //depot/projects/ctsrd/beribsd/src/ctsrd/pictview/pictview.c#14 (text+ko) ==== @@ -29,8 +29,10 @@ */ #include +#include #include #include +#include #include #include #include @@ -476,6 +478,142 @@ } +static void +show_about(void) +{ + int fd; + u_int32_t rombuf[5]; + u_int32_t bdate, btime, svnrev_bcd, svnrev; + u_int32_t *image; + int year, month, day, hour, minute, second; + char kvbuf[256]; + char *kbuilder, *kconfig, *kdate, *kversion, *kvp; + char *version_string; + size_t len; + + image = malloc(sizeof(u_int32_t) * fb_width * fb_height); + if (image == NULL) + err(1, "show_about() malloc"); + fb_save(image); + + if ((fd = open("/dev/berirom", O_RDONLY)) == -1) { + warn("Unable to open /dev/berirom"); + return; + } + if (read(fd, rombuf, sizeof(rombuf)) != sizeof(rombuf)) { + warn("Unable to read from /dev/berirom"); + return; + } + close(fd); + /* + * bdate is the build date in BCD MMDDYYYY + * i.e. 0x08302012 is August 30th, 2012 + */ + bdate = le32toh(rombuf[0]); + month = ((bdate >> 28) & 0xF) * 10 + ((bdate >> 24) & 0xF); + day = ((bdate >> 20) & 0xF) * 10 + ((bdate >> 16) & 0xF); + year = ((bdate >> 12) & 0xF) * 1000 + ((bdate >> 8) & 0xF) * 100 + + ((bdate >> 4) & 0xF) * 10 + (bdate & 0xF); + + /* + * btime is the build time in BCD 00HHMMSS + * i.e. 0x00173700 is 5:37pm + */ + btime = le32toh(rombuf[1]); + hour = ((btime >> 20) & 0xF) * 10 + ((btime >> 16) & 0xF); + minute = ((btime >> 12) & 0xF) * 10 + ((btime >> 8) & 0xF); + second = ((btime >> 4) & 0xF) * 10 + (btime & 0xF); + + svnrev_bcd = le32toh(rombuf[2]); + svnrev = + 10000000 * ((svnrev_bcd >> 28) & 0xF) + + 1000000 * ((svnrev_bcd >> 24) & 0xF) + + 100000 * ((svnrev_bcd >> 20) & 0xF) + + 10000 * ((svnrev_bcd >> 16) & 0xF) + + 1000 * ((svnrev_bcd >> 12) & 0xF) + + 100 * ((svnrev_bcd >> 8) & 0xF) + + 10 * ((svnrev_bcd >> 4) & 0xF) + + (svnrev_bcd & 0xF); + + len = sizeof(kvbuf); + if (sysctlbyname("kern.version", kvbuf, &len, NULL, 0) == -1) { + warnx("sysctlbyname(kern.version)"); + return; + } + if (len == sizeof(kvbuf)) + kvbuf[len - 1] = '\0'; + kvp = kvbuf; + kversion = kvp; + while (*kvp != ':' && *kvp != '\0') + kvp++; + if (kvp == '\0') { + warnx("malformed kernel version string: '%s'", kversion); + return; + } + kvp[0] = '\0'; + kvp++; + while (*kvp == ' ') + kvp++; + + kdate = kvp; + while (*kvp != '\n' && *kvp != '\0') + kvp++; + if (kvp == '\0') { + warnx("malformed kernel version string"); + return; + } + kvp[0] = '\0'; + kvp++; + while (*kvp == ' ') + kvp++; + + kbuilder = kvp; + while (*kvp != ':' && *kvp != '\0') + kvp++; + if (kvp == '\0') { + warnx("malformed kernel version string"); + return; + } + kvp[0] = '\0'; + kvp++; + + if (*kvp != '/') { + warnx("malformed kernel version string: config is not a path"); + return; + } + while (*kvp != '\n' && *kvp != '\0') + kvp++; + if (kvp == '\0') { + warnx("malformed kernel version string"); + return; + } + kvp[0] = '\0'; + while (*(kvp - 1) != '/') + kvp --; + kconfig = kvp; + + asprintf(&version_string, + "CPU Info:\n" + " Date: %4d-%02d-%02d %02d:%02d:%02d\n" + " SVN Rev: r%d\n" + "\n" + "Kernel Info:\n" + " Version: %s\n" + " Date: %s\n" + " Builder: %s\n" + " Config: %s", /* No terminating new-line */ + year, month, day, hour, minute, second, svnrev, + kversion, kdate, kbuilder, kconfig); + fb_dialog(FBDT_WEST2CLOSE, fb_colour(0, 0, 0), + fb_colour(0, 0, 255), fb_colour(0, 0, 0), + "About the CHERI Demo", version_string); + ts_drain(); + free(version_string); + + fb_post(image); +} + + // display thumb nails int pictview_selector(void) @@ -484,7 +622,10 @@ const int tile=3; // 3 x 3 image tiles int display_image; int j,xi,yi; + int x,y; int imgmap[tile][tile]; + struct tsstate *ts; + // map images to tile locations imgmap[0][0] = SEL_QUILL_IMG; imgmap[1][0] = -1; @@ -523,17 +664,22 @@ // display on fb_fade2on(); - multitouch_release_event(); + ts_drain(); // wait for image selection for(display_image=-1; (display_image<0); ) { - multitouch_pole(); - if(touch_count==1) { // received a touch gesture - int x,y; - x = touch_x0/(fb_width/tile); - y = touch_y0/(fb_height/tile); + ts = ts_poll(); + printf("gesture 0x%02x, (%d, %d)\n", ts->ts_gesture, ts->ts_x1, ts->ts_x2); + switch (ts->ts_gesture) { + case TSG_CLICK: + case TSG2_CLICK: + x = ts->ts_x1 / (fb_width / tile); + y = ts->ts_y1 / (fb_width / tile); display_image = imgmap[x][y]; - // printf("display_image = %1d\n",display_image); + break; + case TSG_EAST: + show_about(); + break; } } @@ -723,6 +869,7 @@ // initialise framebuffers and mtl control for mmap access fb_init(); + fb_load_syscons_font(NULL, "/usr/share/syscons/fonts/iso-8x16.fnt"); fb_text_cursor(255, 255); // various test routines... From owner-p4-projects@FreeBSD.ORG Wed Aug 1 00:21:23 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C00121065672; Wed, 1 Aug 2012 00:21:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 823DF106564A for ; Wed, 1 Aug 2012 00:21:23 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 6B6068FC12 for ; Wed, 1 Aug 2012 00:21:23 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q710LNLn068855 for ; Wed, 1 Aug 2012 00:21:23 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q710LNVP068852 for perforce@freebsd.org; Wed, 1 Aug 2012 00:21:23 GMT (envelope-from brooks@freebsd.org) Date: Wed, 1 Aug 2012 00:21:23 GMT Message-Id: <201208010021.q710LNVP068852@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215204 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2012 00:21:24 -0000 http://p4web.freebsd.org/@@215204?ac=10 Change 215204 by brooks@brooks_ecr_current on 2012/08/01 00:21:21 Add a show sandboxes toggle that lets you see what areas are derived from data generated in a sandbox. Affected files ... .. //depot/projects/ctsrd/beribsd/src/ctsrd/browser/browser.c#17 edit .. //depot/projects/ctsrd/beribsd/src/ctsrd/browser/images/browser.png#5 edit Differences ... ==== //depot/projects/ctsrd/beribsd/src/ctsrd/browser/browser.c#17 (text+ko) ==== @@ -64,11 +64,17 @@ #define vred(v) fb_colour((v), 0, 0) #define vgreen(v) fb_colour(0, (v), 0) #define vblue(v) fb_colour(0, 0, (v)) +#define vyellow(v) fb_colour((v), (v), 0) +#define vcyan(v) fb_colour(0, (v), (v)) +#define vmagenta(v) fb_colour((v), 0, (v)) #define black vwhite(0) #define white vwhite(0xFF) #define red vred(0xFF) #define green vgreen(0xFF) #define blue vblue(0xFF) +#define yellow vyellow(0xFF) +#define cyan vcyan(0xFF) +#define magenta vmagenta(0xFF) /* * Each file is displayed in a 266x40 box: @@ -119,6 +125,9 @@ #define SB_MINROW (fb_height - 38) #define SB_MAXROW (fb_height - 1) +#define SB_SHOW_MINCOL 606 +#define SB_SHOW_MAXCOL 793 + /* Start offsets for browser columns */ const int colstart[] = {0, 267, 534}; @@ -179,6 +188,15 @@ { 0, 0, 0, 0 } }; +static int sbshow = 0; + +/* + * baseimage is the black and white background image with any disabled + * protection modes grayed out. After init_bgimage() runs it will not + * be modified. bgimage starts equal to baseimage and is updated as + * the sandbox mode changes and showing sandboxes is toggled. + */ +static u_int32_t *baseimage; static u_int32_t *bgimage; static u_int32_t *icons; static magic_t magic; @@ -433,7 +451,10 @@ bgimage = malloc(sizeof(u_int32_t) * fb_height * fb_width); if (bgimage == NULL) err(1, "malloc"); - read_png_file(BASEIMG, bgimage, fb_width, fb_height); + baseimage = malloc(sizeof(u_int32_t) * fb_height * fb_width); + if (baseimage == NULL) + err(1, "malloc"); + read_png_file(BASEIMG, baseimage, fb_width, fb_height); for (sb = 0; sbdata[sb].sbtype != 0; sb++) { if (sbdata[sb].enabled) @@ -441,10 +462,13 @@ for (j = SB_MINROW; j < SB_MAXROW; j++) { for (i = sbdata[sb].bcol; i <= sbdata[sb].ecol; i++) { pixel = (j * fb_width) + i; - bgimage[pixel] = vwhite(((bgimage[pixel] >> 24) & 0xFF) / 2); + baseimage[pixel] = vwhite( + ((baseimage[pixel] >> 24) & 0xFF) / 2); } } } + + memcpy(bgimage, baseimage, sizeof(u_int32_t) * fb_height * fb_width); } static void @@ -464,22 +488,33 @@ for (j = SB_MINROW; j < SB_MAXROW; j++) { for (i = SB_MINCOL; i <= SB_MAXCOL; i++) { pixel = (j * fb_width) + i; - if (bgimage[pixel] != black) { - /* XXX: Assuming we're either blue or white */ - value = (bgimage[pixel] >> 24) & 0xFF; - if (value == 0) { - printf("unexpected zero value, pixel %08x\n", - bgimage[pixel]); - value = 0xff; - } + if (baseimage[pixel] != black) { + value = (baseimage[pixel] >> 24) & 0xFF; bgimage[pixel] = (i >= bcol && i <= ecol) ? vblue(value) : vwhite(value); } } + for (i = SB_SHOW_MINCOL; i <= SB_SHOW_MAXCOL; i++) { + pixel = (j * fb_width) + i; + if (bgimage[pixel] != black) { + value = (baseimage[pixel] >> 16) & 0xFF; + bgimage[pixel] = (sbtype == SB_NONE) ? + vwhite(value / 2) : (sbshow ? + vyellow(value) : vwhite(value)); + } + } } fb_post(bgimage); } +static void +toggle_sbshow(void) +{ + + sbshow = (sbshow + 1) % 2; + update_sandbox(sbtype); +} + static const char * get_desc(int dfd, struct dirent *entry) { @@ -555,6 +590,10 @@ fb_post_region(textbuf, colstart[(s/NROW)] + TEXT_OFFSET, FROW + (RHEIGHT * (s % NROW)) + BORDER, TEXTSPACE, CHAR_HEIGHT); + if (sbshow && sbtype != SB_NONE) + fb_fill_region(yellow, colstart[(s/NROW)] + BORDER - 1, + FROW + (RHEIGHT * (s % NROW)) + BORDER - 1, + ICON_WH + 2, ICON_WH + 2); fb_post_region(icon, colstart[(s/NROW)] + BORDER, FROW + (RHEIGHT * (s % NROW)) + BORDER, ICON_WH, ICON_WH); } @@ -595,7 +634,8 @@ } else { if (ts->ts_x1 >= SB_MINCOL && ts->ts_x1 <= SB_MAXCOL) { - for (i =0 ; ts->ts_x1 < sbdata[i].bcol || + for (i = 0; + ts->ts_x1 < sbdata[i].bcol || ts->ts_x1 > sbdata[i].ecol; i++) /* do nothing */; assert(sbdata[i].sbtype != 0); @@ -605,6 +645,11 @@ update_sandbox(sbdata[i].sbtype); return (ACT_REFRESH); } + if (ts->ts_x1 >= SB_SHOW_MINCOL && + ts->ts_x1 <= SB_SHOW_MAXCOL) { + toggle_sbshow(); + return (ACT_REFRESH); + } } } else if(ts->ts_gesture == TSG2_ZOOM_OUT) { if (ts->ts_count != 0) ==== //depot/projects/ctsrd/beribsd/src/ctsrd/browser/images/browser.png#5 (text+ko) ==== @@ -1,10 +1,46 @@ PNG  --2?#9&@|O*""-,R{'"V[P{@-駟(:g?Vlٲxn61hР8Sg?Y\{1k֬={vlV1cƌ뮻hkkkcԨQ%ëbvmF۶m?>F iK g]v|UW]U /ܠ j-(\Zf^{ꍞ47t|#3 _ԁX̞{N;JwqGJ)U~R}7|s֣pdܹH={LӧOO)+qD)oBkqGEl6fΜGɓ'odSOEDM4ȽWvaeZlY\veGeee 0 w7uXSRJ/5k{ưΗ`?8#saz+<gyfq;E]Tl׺uFt%LoF׿I&?.]{`^fNJ8nݺŔ)Sb裏Ɣ)SK.$z[L:5F555KV<087n\u濦Xp[l_~ylqg[ne]vѯ_{c…7ztE?СC\yqW>unO{l|qWrǀbРAFfbm۶??w;C̜93&L㥗^3-[%\-o1g8# +2<[̟??FvUc+~8ꨣ_!C稣#<2F>`qx{quEƍO o}[1cƌxGbذape]⬳Ί^zEeee{o7'ZD|qYo{ưVLVw V~ߦR1bDqع瞛RJN\sMҁaÆ3M48nſ?ty>S%\ưV[G}lٳg~w?,[|yO?4kn]u,ԧ~RZqŔ)SJhѢtGLwꩧ۴ifJ[-Z;/Ғ%KU%X9?un睊I)4vد4c=6-]?i.J%ĉS׮]Lװa /r9+?}`MHL)t]bV-S-J'NLַR6mR޽ӿRJӦM+y - ~%*@r6k#|Gֶ6m>쳔RJ]w]jREEEҥK/~Q.ݺu+NS iO}I[ou߿z7RJ)3tWR=ztիWjذajڴi߿9sfJ)N:ؾ>6XW /Nd8D)6v 7ܐSV>(٬wcCя~3gΌN:ū=z(io~3hԨQ+q뭷FĊˋ -P 4iiӦ\7Ka^xa~1{'OKFuuu|.{1}zoRX}p>{wmEEEO-Zr6e_eo 4-ZQޛnnnkoB/W{eĊGYG[o5n+_.yg&LHCc,XtEo[lYl߰a؇+ 8(ӥKq{麮cᑢ:u*M81ґGYgza}vu⺤W_>nl: N)ӧaÆG}4͘18|Ĉδ_}>`K4eʔ4gΜ㏧R?YoW~ '|>4dȐtW{8O`sMw^:th߆[nX}*M<9CMC IӧOO˗//ZSJԷo6m߄6VޟEp@q=z(Oz RJM!HD-Ze~{jԨQ4~zZdIڕiuƧ7tSzK׸qg3&}kr_뺎)$"%\Rlr\ No newline at end of file +++9_sȑ#kjժ)66VӺu 6T +BΓ 6h߾} +B_4ibk֬lݺn))Icƌ zēЌ$r-… _͓yIz%I23}g.]z~%I]vuQJٳuQI9GJo~,Y2`>*V!CüwG^xᅐJN8QRλA*U*+ Sjjv0>;)ߩ.[l?+.#+sʗ/O7|(Qo+uP߾}:য়~ +nȧ@$TRſHZZeggܹs'k$YJ {6lhaaaV~}_jf9@'%%$Dûuf7fftR֭UPZliv͟rʖif9MڵRJYƍ?˗h. +^.=j6l7ЂƶmۂZ*+ Ma6GOF +[ʕ+I'NXZZ]wuV~}4hܹ̞  ^{ըQ#߲|r3++#+/k*ժUw}^XbyV3n-h|`ff?(߱,8d[FF۷ώ?Y>zh33~8ѣG-55^xᅐw_tMflYſ7_6qwfʕm߾}ff6|xJ*Ur7TW^yr$Fw(n喀irԭ[7ok({7.. ǽp'LA1˹uӿy+ .MQ6Gٲe1˨Qǚ4irW_}effCPׯ_ƌcff?o53?0)w?΁žcg@B}L<J^, B<ȑ#G/ܝm? rIsqkԨQ!P~mtvwϬ܎9b?~(>[mr]3gÊ럷eʔ1)u. ӏ?z/gffֺuB틄{WNlٲ-`u/wرߝ_zzz |qYf>}jA^$GNzVJy_|-Wr}??~ȳ˗@YZ5/_^f*|˖-өS h׮]ֱQFrz+Ƈرc*S6ltEEE +婧w97鬬,رC*SLw>Dg֒%K +8JHrry"͛*w{n?~<|ǎ͛5k滎K/T+Vz&Ѫ[$̂Zt86ޒ.Ny?{Ws-ܢ'j̙Aӹ7E8_֬Y]*>>@Ӈi + SjjZT5dh!d޽ڶmjԨryYYY!/¥Q)3vXkȑZ+++K ,رc5y<>α%J;>U=zNP؟K'NRA9rDwuW5j9sz9rj +nݪ6mڨ\rѣ$O?-P}5j{GGO͙3GׯҥKUjUtyӕ.]:iʗ/5j(,,,d=*U$)Cu_Կ0s6A6mR>}ZݺuS=teiȐ!ׯ| +s4IRʕ2an? ?Sۻw222t%h?~p I9SN!OkVqqq/jժ3.3sGyD}Ucwoqxl4p@M2%nI9=zhI9?O +#e˪N:!S:.s;ufϞٳgKT1coC=ѣG`+9/lcΝ*))IuQݺu5m4bz̙4hڵkݻԩS~gbf,)߼ 7СCE߾}զM8p@W\qEwY T3_ddVݻwMP"##.wgsK9sZjƍkzu֭[5aM0Aaaaѣf͚/;9 v?W|7]vr.w^s5!ǷhBƍUT)ر\û[5e+E|l"33S>$iĈL}Sؿ%55USN$jJ$7NR·{4ORԾ}{Iy!HJJ +9[nK+JAA;" UVB<#z!3icccVcra'N03+"`={YN')͚5 WBz~}͛uaÆ?T @EF}4hrmذ̂; jѢ++X + +} +Zjr{ꩧeo|Uݻ,9P-\}vΟ??ϝ;,[M6yk׮%of9nͫ I9m(9֢E 3iuiӦ𰰰bرfK3?\ʗ/_-IEի}'-X dǧ裏}znflͫu@'EQcs/k5w111ffPa[{gs4i.\hfM{:zhPzͫ߭4lԱ_ +VFFFPӟ,MX5k w+)))r7{6 . %< Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 646FA1065678; Wed, 1 Aug 2012 03:36:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1DCF4106564A for ; Wed, 1 Aug 2012 03:36:54 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 06A138FC15 for ; Wed, 1 Aug 2012 03:36:54 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q713arSl076615 for ; Wed, 1 Aug 2012 03:36:53 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q713arcA076612 for perforce@freebsd.org; Wed, 1 Aug 2012 03:36:53 GMT (envelope-from brooks@freebsd.org) Date: Wed, 1 Aug 2012 03:36:53 GMT Message-Id: <201208010336.q713arcA076612@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215210 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2012 03:36:54 -0000 http://p4web.freebsd.org/@@215210?ac=10 Change 215210 by brooks@brooks_ecr_current on 2012/08/01 03:36:20 Report Y-axis coordinates when printing gestures. Affected files ... .. //depot/projects/ctsrd/beribsd/src/ctsrd/mtlctl/mtlctl.c#5 edit Differences ... ==== //depot/projects/ctsrd/beribsd/src/ctsrd/mtlctl/mtlctl.c#5 (text+ko) ==== @@ -161,10 +161,10 @@ printf("gesture %s (%02x) ", gesturetostr(sp->ts_gesture), sp->ts_gesture); if (sp->ts_x1 >= 0 && sp->ts_y1 >= 0) { - printf("at (%d, %d) ", sp->ts_x1, sp->ts_x1); + printf("at (%d, %d) ", sp->ts_x1, sp->ts_y1); } if (sp->ts_count == 2) { - printf("and (%d, %d) ", sp->ts_x2, sp->ts_x2); + printf("and (%d, %d) ", sp->ts_x2, sp->ts_y2); } printf("count %d\n", sp->ts_count); } From owner-p4-projects@FreeBSD.ORG Wed Aug 1 03:39:07 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F02FD1065670; Wed, 1 Aug 2012 03:39:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A91FD106564A for ; Wed, 1 Aug 2012 03:39:06 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 90F6C8FC08 for ; Wed, 1 Aug 2012 03:39:06 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q713d6Ou076698 for ; Wed, 1 Aug 2012 03:39:06 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q713d6S2076695 for perforce@freebsd.org; Wed, 1 Aug 2012 03:39:06 GMT (envelope-from brooks@freebsd.org) Date: Wed, 1 Aug 2012 03:39:06 GMT Message-Id: <201208010339.q713d6S2076695@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2012 03:39:07 -0000 http://p4web.freebsd.org/@@215211?ac=10 Change 215211 by brooks@brooks_ecr_current on 2012/08/01 03:39:00 Wait for the gesture to be released before exiting from the keyboard. For reasons I don't understand, failing to do so seems to queue further zoom events even though the main screen ignores them complete. Fix a cut-and-paste'o on the main screen that made the bottom icons unselectable. made the bottom icons unselectable. made the bottom icons unselectable. Update the CheriBrowser thumbnail image. Affected files ... .. //depot/projects/ctsrd/beribsd/src/ctsrd/pictview/img/browser-thumb.png#3 edit .. //depot/projects/ctsrd/beribsd/src/ctsrd/pictview/pictview.c#15 edit Differences ... ==== //depot/projects/ctsrd/beribsd/src/ctsrd/pictview/img/browser-thumb.png#3 (text+ko) ==== @@ -33,22 +33,31 @@ pp8\g)6֭[װ UfMl6'rssUZ,KQJyUPAm߾vW)S * Qx8-KtyQuQ=t.0tiյk/}~S>ٳؗײeTٲe=]g϶4^{}kܾeʔQ7o.(nUdy}-*_~Y>}3gΨYf z|;n\ܼyS*v -vvv ADD"""ꊌ \v DYYY{W,Rh-Kν= --߿6 ~P+gϞEuu5+*_~Y>}3gΨYf z|;n=ѤIqDT׺`m۶=rssq.Nj֬v ++]S-ccc+-o߾:t(nݺ={̿(Xz5E1c-Z… ؿ 4h+@mmG:|oDdjj*^$VZE-[$LFnnn,qX^^NgVZرcʕ+DDr<-__NԴiS255cRvv6b~c@c }+@{ݻQ\\)*FFFWb{×-[&۷oYZZƆd2ݻH [5k֐J:u*}Gdgg'N+ DD[lQ+NDD'NPЄyfqC ê|DDt=2778CÄ~ej֬J~'''"DU-_:*SnRkK.b\\\TYZZT$:U@+;wm+D ֭[GD+}O˗|鲎咪5i҄ + hZϺJRrC +@mtmGJMM%"@accC#FΝ;K?qÔOmٲ#;s 8p@,uRGm+F >} ++hIDATNc@Ԏ;j\Ƭ.HC2"ĉaccSթ5x1СC8::bbe:<<SNE߾}1h <}T쐸:D?+߫|+]tUn֖H i۲ߪUPN;w .jB:=:tĭV4m)Sm??T Ǎ'4<{GD2e_uU@ɰ0q^֦|~Z (<1FGI;;;ٺu6yl;R?NDDO>UC}edd$vѮ];1۾}rWR`` M4V^-^_$H0+ TO׭[GZR }wA'KUt]J -pedggwUtu!-}}}1oS|wFrwwǢEPYYu!,, &MBLL ***>@^ؐ f͚g}Dii)._|Q٦@KP#Ƅ p9Ǜg„ ɓ'{nur]^:u*yܽ{{QQQ~a=z4lllp)|GV?my;g[օ ڹFDDzd\,%ȉ'is>HV\vؿZfĈ{wYY̝;W-{!n?"bԍk׮w^rEEE2~xGFF͛7ruuuߗmpG%߿/",rrrLYYY)&ƪecGi `ܹsEDJ=^ .XzK׋իW['JuuZOٳgKmm1̔!C-ץKvXhi qqq""󎈈l۶Mx票d/aaaFP\~];TG; ǏܥKy`0L@Kݻ76mR+ HFFw}'˗/' - - ED@9R- -/jؘ{mX{ӧza:nݺaÆ~~~R_tnLZZT-___v&o&M-@}X1qD(..Fvv6푟vx'MذaEZc;,\-'''|pvvnr6l@~͟?Æ CQQ>S-e^/!moƍe޼yi&ÆǏ7S6AFF$$$ X^^.[n ȺuƣwwwWwEN>aeZ]]mƶ5 )y233ED$&&hz{}rWEDncca͘2e:\H^^߿_+wU8qB|||]f:ݻeѢEcɑboDDjm8 ;wΝ;/K.}f̘a?j;زe̙3GΝ+ j1;;;$>>^򤮮N[|]lٲEDL QQQ:o/a{2C#GT1|p6ax g-`cԇ~(&̘1Cr omlldFE꿚{InL(?1OxZ7_% -R6L@>6\ ׿ߗ%K|Pˎ;_ $5  =$$DҌ/--7|d[666'&u,--?Fk涱ɩΝ;2{lyE& 91ݻǏc`0Fo߾G>}p\xo %%%Hzzz""" BAAN<{222pڵF4GƒkÚv튐/^DVVV΂8qx 9B~? NJ1cƠ\ No newline at end of file +O蕧YtJ~MǀXچM>fΜIDo+@+ر#]wD͑۷okl1:Hmtmԧ-[ :uBNN^j[puu_l/L///ddd )) vvvHNNFEE!\.G~klP|ѭ[7tD;w 66VchsDu놇(,,jy1|svvL&Crr2n߾]/]+gϞptt5qm\xlcH 1chZb1cq+\ No newline at end of file ==== //depot/projects/ctsrd/beribsd/src/ctsrd/pictview/pictview.c#15 (text+ko) ==== @@ -361,6 +361,7 @@ } } } while(!((touch_count==2) && (touch_gesture==0x49))); + multitouch_release_event(); } @@ -669,13 +670,12 @@ // wait for image selection for(display_image=-1; (display_image<0); ) { ts = ts_poll(); - printf("gesture 0x%02x, (%d, %d)\n", ts->ts_gesture, ts->ts_x1, ts->ts_x2); switch (ts->ts_gesture) { case TSG_CLICK: - case TSG2_CLICK: x = ts->ts_x1 / (fb_width / tile); - y = ts->ts_y1 / (fb_width / tile); + y = ts->ts_y1 / (fb_height / tile); display_image = imgmap[x][y]; + ts_drain(); break; case TSG_EAST: show_about(); From owner-p4-projects@FreeBSD.ORG Wed Aug 1 14:59:59 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E8111106566C; Wed, 1 Aug 2012 14:59:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93038106564A for ; Wed, 1 Aug 2012 14:59:58 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 7BEEC8FC0C for ; Wed, 1 Aug 2012 14:59:58 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q71ExwSO012614 for ; Wed, 1 Aug 2012 14:59:58 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q71ExwVd012607 for perforce@freebsd.org; Wed, 1 Aug 2012 14:59:58 GMT (envelope-from brooks@freebsd.org) Date: Wed, 1 Aug 2012 14:59:58 GMT Message-Id: <201208011459.q71ExwVd012607@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215229 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2012 15:00:00 -0000 http://p4web.freebsd.org/@@215229?ac=10 Change 215229 by brooks@brooks_ecr_current on 2012/08/01 14:59:27 Don't leak memory and fd's on a variety of errors. Reported by: rpaulo Affected files ... .. //depot/projects/ctsrd/beribsd/src/ctsrd/pictview/pictview.c#16 edit Differences ... ==== //depot/projects/ctsrd/beribsd/src/ctsrd/pictview/pictview.c#16 (text+ko) ==== @@ -491,21 +491,18 @@ char *kbuilder, *kconfig, *kdate, *kversion, *kvp; char *version_string; size_t len; - - image = malloc(sizeof(u_int32_t) * fb_width * fb_height); - if (image == NULL) - err(1, "show_about() malloc"); - fb_save(image); + ssize_t rlen; if ((fd = open("/dev/berirom", O_RDONLY)) == -1) { warn("Unable to open /dev/berirom"); return; } - if (read(fd, rombuf, sizeof(rombuf)) != sizeof(rombuf)) { - warn("Unable to read from /dev/berirom"); + rlen = read(fd, rombuf, sizeof(rombuf)); + close(fd); + if (rlen != sizeof(rombuf)) { + warnx("Unable to read from /dev/berirom"); return; } - close(fd); /* * bdate is the build date in BCD MMDDYYYY * i.e. 0x08302012 is August 30th, 2012 @@ -605,6 +602,16 @@ " Config: %s", /* No terminating new-line */ year, month, day, hour, minute, second, svnrev, kversion, kdate, kbuilder, kconfig); + if (version_string == NULL) { + warnx("asprintf"); + return; + } + + image = malloc(sizeof(u_int32_t) * fb_width * fb_height); + if (image == NULL) + err(1, "show_about() malloc"); + fb_save(image); + fb_dialog(FBDT_WEST2CLOSE, fb_colour(0, 0, 0), fb_colour(0, 0, 255), fb_colour(0, 0, 0), "About the CHERI Demo", version_string); @@ -612,6 +619,7 @@ free(version_string); fb_post(image); + free(image); } From owner-p4-projects@FreeBSD.ORG Fri Aug 3 20:37:08 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B3B11065672; Fri, 3 Aug 2012 20:37:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 434A4106566C for ; Fri, 3 Aug 2012 20:37:07 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 2CD5C8FC0A for ; Fri, 3 Aug 2012 20:37:07 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q73Kb7gs071933 for ; Fri, 3 Aug 2012 20:37:07 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q73Kb6iZ071930 for perforce@freebsd.org; Fri, 3 Aug 2012 20:37:06 GMT (envelope-from brooks@freebsd.org) Date: Fri, 3 Aug 2012 20:37:06 GMT Message-Id: <201208032037.q73Kb6iZ071930@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 215328 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2012 20:37:08 -0000 http://p4web.freebsd.org/@@215328?ac=10 Change 215328 by brooks@brooks_ecr_current on 2012/08/03 20:36:08 Add manpages for isf(4) and isfctl(8). Affected files ... .. //depot/projects/ctsrd/beribsd/src/share/man/man4/Makefile#3 edit .. //depot/projects/ctsrd/beribsd/src/share/man/man4/isf.4#1 add .. //depot/projects/ctsrd/beribsd/src/usr.sbin/isfctl/Makefile#2 edit .. //depot/projects/ctsrd/beribsd/src/usr.sbin/isfctl/isfctl.8#1 add Differences ... ==== //depot/projects/ctsrd/beribsd/src/share/man/man4/Makefile#3 (text+ko) ==== @@ -184,6 +184,7 @@ ipwfw.4 \ isci.4 \ iscsi_initiator.4 \ + isf.4 isp.4 \ ispfw.4 \ iwi.4 \ ==== //depot/projects/ctsrd/beribsd/src/usr.sbin/isfctl/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ # $FreeBSD$ PROG= isfctl -MAN= -#MAN= isfctl.8 + +MAN= isfctl.8 .include