From owner-freebsd-wip-status@FreeBSD.ORG Tue Jun 10 18:39:02 2008 Return-Path: Delivered-To: freebsd-wip-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 25C66106567D; Tue, 10 Jun 2008 18:39:02 +0000 (UTC) (envelope-from volker@vwsoft.com) Received: from frontmail.ipactive.de (frontmail.maindns.de [85.214.95.103]) by mx1.freebsd.org (Postfix) with ESMTP id AD9118FC18; Tue, 10 Jun 2008 18:39:00 +0000 (UTC) (envelope-from volker@vwsoft.com) Received: from mail.vtec.ipme.de (Q7cd5.q.ppp-pool.de [89.53.124.213]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by frontmail.ipactive.de (Postfix) with ESMTP id 6136412883F; Tue, 10 Jun 2008 20:12:58 +0200 (CEST) Received: from cesar.sz.vwsoft.com (cesar.sz.vwsoft.com [192.168.16.3]) by mail.vtec.ipme.de (Postfix) with ESMTP id D3EB990427; Tue, 10 Jun 2008 20:12:01 +0200 (CEST) Message-ID: <484EC402.9060200@vwsoft.com> Date: Tue, 10 Jun 2008 20:12:18 +0200 From: Volker User-Agent: Thunderbird 2.0.0.14 (X11/20080503) MIME-Version: 1.0 To: usb@freebsd.org X-Enigmail-Version: 0.95.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit MailScanner-NULL-Check: 1213726335.47834@b0xGWcLprNsc//ABGtd1pA X-MailScanner-ID: D3EB990427.B8830 X-VWSoft-MailScanner: Found to be clean X-MailScanner-From: volker@vwsoft.com X-ipactive-MailScanner-Information: Please contact the ISP for more information X-ipactive-MailScanner: Found to be clean X-ipactive-MailScanner-From: volker@vwsoft.com X-Mailman-Approved-At: Tue, 10 Jun 2008 19:12:26 +0000 Cc: Subject: WIP: usb touchscreen drivers X-BeenThere: freebsd-wip-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD Work-In-Progress Status List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jun 2008 18:39:02 -0000 Hi everybody! I'm taking the chance and cross-posting this to the exciting, hopefully soon becoming busy, shiny new mailing list (freebsd-wip-status@ bcc'd, for those not already aware). Currently I'm working under contract for developing FreeBSD drivers for USB touchscreen devices. Before coding started, I've figured out the possible solutions to get a touchscreen device running under FreeBSD / X11 but haven't found much. We currently don't have any specialized drivers (but ums and uhid). More than worse: By default the ums driver is attaching to the device by default which has no support for devices reporting zero buttons and absolute coordinates. Currently OpenBSD has support for touchscreen devices but I found it difficult (or at least too much work) to port over wscons and replace syscons with that. Current touchscreen xf86-input drivers do partly support USB devices under Linux and I don't like to have the Xinput driver parse the USB protocol itself. Using a specialized kernel driver has some advantages IMO. Currently I'm having a basic, working driver (hence: WIP!), at kernel level (utouch) and a corresponding xf86-input-utouch driver. The first device supported is a Generaltouch ST6101U. So far, the device is working, the X pointer is following touches and button clicks are reported to X. Axis scaling is currently sub-optimal but I think I'll rework the scaling once more. What I would love to see: If you're having a USB connected touchscreen device laying around, I would love to see a krepdump [1] of that device to see how other devices are reporting. Especially, if you're having a multi-touch device, I would strongly love to see how this device reports data! BTW, it shouldn't be too difficult to enhance my driver infrastructure to also support tablet devices (also reporting absolute coordinates but also reporting button presses and some more functionality). As this work is under contract, I need to get approval to release the code but I'm pretty sure to get approval (BSD-licensed, of course). If you're interested in seeing USB touchscreen support for FreeBSD this way and have a device laying around, please contact me directly and I'll see how to support your device. Thanks! Volker [1] http://people.freebsd.org/~kaiw/tools/krepdump.tgz From owner-freebsd-wip-status@FreeBSD.ORG Tue Jun 10 19:37:47 2008 Return-Path: Delivered-To: freebsd-wip-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 459801065678 for ; Tue, 10 Jun 2008 19:37:47 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outN.internet-mail-service.net (outn.internet-mail-service.net [216.240.47.237]) by mx1.freebsd.org (Postfix) with ESMTP id 2DD2F8FC21 for ; Tue, 10 Jun 2008 19:37:47 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id 872A0248D for ; Tue, 10 Jun 2008 12:23:27 -0700 (PDT) Received: from julian-mac.elischer.org (localhost [127.0.0.1]) by idiom.com (Postfix) with ESMTP id CA7C02D600F for ; Tue, 10 Jun 2008 12:23:26 -0700 (PDT) Message-ID: <484ED4B0.2010405@elischer.org> Date: Tue, 10 Jun 2008 12:23:28 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421) MIME-Version: 1.0 To: freebsd-wip-status@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Tue, 10 Jun 2008 20:51:36 +0000 Subject: Vimage project status X-BeenThere: freebsd-wip-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD Work-In-Progress Status List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jun 2008 19:37:47 -0000 Vimage is a project to add virtual networking images to FreeBSD. This iresults in an exteded Jail functionality. contact: julian@ zec@ 1) What is vimage? Vimage started out as an attempt to virtualise the network stack to the point where 'jails' could run with completely separate network stacks. It was originally available in FreeBSD 4.x and considerable work and thought has been dome by Marko to rewrite it to cope with FreeBSD 7/8. Improvements include: * Ability to compile it OUT. This allows an integration period with much reduced risk. * Ability to copy with loadable kernel modules. Modules can be loaded individually and still be virtualised. The technique for this was inspired by the TLS (thread local Storage) techniuque, but we do not use linker/compiler support. (It would be cute however) * Fully hierarchical vimage jails. * 'wormholes' that allow (with (real)admin support) virtual machines to communicate with each other with high efficiency. * General purpose framework to allow virtualisation of modules other than networking components. It was discussed in the last Dev-summit extensively and is approaching the tree on an intercept course.. Collision in about 1 week for first commits and 8 weeks for final functional merge. It is expected that the tree will be fully functional at all points.. At the same time work is underway to make sure that jail improvements and vimage play nicely together. Note, that not all the changes in the development branch will be integrated into -current immediately. For example changes to allow per-jail load averages to be kept will not be committed in this pass. The Milestones included something like: #1) June 8 (today) Headsup.... #2) June 15 Commit changes that add macros for vnet (network module) and vinet(inet virtualisation) with macros defined in such a way to make 0 actual differences. provable by md5 etc. Documentat s/hostname/g//V_hostname/ #define V_hostname hostname 2 weeks settle time, next step prepared, tested and reviewed. A script that did 99% of this work is available (see commit messages below): #3) June 29 Add changes to convert all globals to members of per-module structures. Done in a reversible way (i.e. compilable out). Macros defined so that depending on compile options structures or globals are used (one global structure). Performance implications of using structures are evaluated. Structures possibly tuned. Initialisation routines added, checked and tuned. example: #if VIMAGE_USE_STRUCTS #define V_hostname sys_globals.hostname ... #else #define V_hostname hostname ... #endif #4) July 6 Some Macros added at this point with no resulting generated code changes in preparation for later stages. These patches are not strictly needed for #5 yet but adding them here massively reduces the clutter in the later diffs allowing the "meat" of the later changes to be seen and understood better. #5) July 13 Globals removed in vnet, vinet. ifdefs and compile option removed or scaled back to make code clean to read again. Destructor routines added where needed. Remaining "NULL Macros" (compile to nothing at this point) committed to reduce the size of the MEAT diffs. Review of Meat diffs formally under way for final comment. example: #define INIT_VNET_INET(x) /* nothing */ add "INIT_VNET_INET(curvnet);"(and similar) where needed. remove globals (e.g. 'hostname') #6) July 21 JAIL+Vimage framework committed. e.g. add new syscall, program, etc. (part one of meat diffs) structures still only global instances. vimage inhansed jails can be created but act jus tlike normal jails? #7) July 28 Ability to created > 1 vimage enabled. Vimage enhanced jails now have private network stacks etc. #8+) August Start on converting more modules as needed and time allows. Marko and I have been working towards splitting up the current diffs (which do the whole thing) so allow this schedule to be followed. We may or may not be ready for the June 15 step by then, but if not it may be a week there-after. So this should be considered the heads-up. discussion will be on freebsd-virtualization@ and the perforce branch that we have as a current working system is branch 'vimage'. //depot/projects/vimage/... diffs for -current can be found at: http://www.freebsd.org/~julian/vimage.diff and it are usually fairly up to date. ================================================================= commit message for stage #2 script. This script is in TCL specifically to annoy perl and python users. They are welcome to submit a perl/python/ruby/sh version :-) ================================================================= Change 143245 by zec@zec_tpx32 on 2008/06/10 17:55:27 Introduce a script for automated renaming of global variables. The script searches for references of variable names in .c and .h files in the srcdir hierarchy, and prepends them with a "V_" prefix. The script also creates or updates a "vimage.h" file in the current directory containing macros which resolve V_ instances back to their original counterparts (e.g. V_rt_tables -> rt_tables). Best effort is made not to change any variable declarations nor field names in structure declarations and / or C-style comments. The script attempts to avoid changing structure names if they happen to have the same name as any of the requested variables (e.g. ifnet). So far the only manual intervention that has to be done on resulting sources is placement of #include lines in .c files for which the script couldn't figure out automatically that they require this #include. The resulting diff is ~550K in size, roughly half of the current delta between HEAD and projects/vimage in p4. The kernel and modules compile cleanly, as does the buildworld. Note that the script is _slow_ when operating over the entire sys tree. Affected files ... .. //depot/projects/vimage/var_rename.tcl#1 add Differences ... -------------------------------------------------------------------------- http://perforce.freebsd.org/chv.cgi?CH=143246 Change 143246 by zec@zec_tpx32 on 2008/06/10 17:57:06 Add a list of global variables which can be used as input to the var_rename.tcl script. Affected files ... .. //depot/projects/vimage/vimage_globals#1 add -------------------------------------------------------------------------- http://perforce.freebsd.org/chv.cgi?CH=143250 Change 143250 by zec@zec_tpx32 on 2008/06/10 18:33:50 Add two diffs: autorename.diff is a result of running var_rename.tcl over -CURRENT tree, using vimage_globals variable list as input. manualadjust.diff is a patch that needs to be applied after autorename.diff in order for the sys tree to compile cleanly. Affected files ... .. //depot/projects/vimage/misc/autorename.diff#1 add .. //depot/projects/vimage/misc/manualadjust.diff#1 add Differences ... -------------------------------------------------------------------------- There are a number of perforce branches in play: //depot/projects/vimage/ vimage running in -current.. development/debug tree //depot/user/zec/vimage_7/ "stable" version of vimage integrated into a FreeBSD 7 tree. works and seems stable. if you want to test drive it, this may be the tree to use as it doesn't have to cope with the shifting sands of -current. //depot/projects/vimage-commit2/ Integration tree for developing commit for the next stage (currently stage 2) //depot/projects/vimage-commit/ Integration tree for generating various integration diffs etc.