From owner-freebsd-arm@FreeBSD.ORG Fri Jan 16 17:12:36 2015 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 92B69AE9 for ; Fri, 16 Jan 2015 17:12:36 +0000 (UTC) Received: from mout3.freenet.de (mout3.freenet.de [IPv6:2001:748:100:40::2:5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.freenet.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 502FFEBD for ; Fri, 16 Jan 2015 17:12:36 +0000 (UTC) Received: from [195.4.92.141] (helo=mjail1.freenet.de) by mout3.freenet.de with esmtpa (ID freebsdnewbie@freenet.de) (port 25) (Exim 4.82 #2) id 1YCARl-000337-9t for freebsd-arm@freebsd.org; Fri, 16 Jan 2015 18:12:33 +0100 Received: from localhost ([::1]:53581 helo=mjail1.freenet.de) by mjail1.freenet.de with esmtpa (ID freebsdnewbie@freenet.de) (Exim 4.82 #2) id 1YCARl-0002wA-0B for freebsd-arm@freebsd.org; Fri, 16 Jan 2015 18:12:33 +0100 Received: from mx12.freenet.de ([195.4.92.22]:46518) by mjail1.freenet.de with esmtpa (ID freebsdnewbie@freenet.de) (Exim 4.82 #2) id 1YCAPc-0001DZ-F7 for freebsd-arm@freebsd.org; Fri, 16 Jan 2015 18:10:20 +0100 Received: from p5ddd5591.dip0.t-ipconnect.de ([93.221.85.145]:49652 helo=[127.0.0.1]) by mx12.freenet.de with esmtpsa (ID freebsdnewbie@freenet.de) (TLSv1.2:DHE-RSA-AES128-SHA:128) (port 587) (Exim 4.82 #2) id 1YCAPb-0001UV-SL for freebsd-arm@freebsd.org; Fri, 16 Jan 2015 18:10:20 +0100 Message-ID: <54B945FB.10609@freenet.de> Date: Fri, 16 Jan 2015 18:10:19 +0100 From: =?UTF-8?B?TWFudWVsIFN0w7xobg==?= User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: freebsd-arm@freebsd.org Subject: mmap-issue Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 150116-0, 16.01.2015), Outbound message X-Antivirus-Status: Clean X-Originated-At: 93.221.85.145!49652 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jan 2015 17:12:36 -0000 Hi, I'm seeing unexpected behavior using mmap( /dev/mem ) on my beaglebone black. It seems to me, that writing to/reading from this mapped pointer does not immediatly take effect. The code looks like this: #define GPIO1 0x4804C000 #define CLR_REG 0x190 #define SET_REG 0x194 #define LED0 21 #define LED1 22 #define LED2 23 #define LED3 24 int fd = open( "/dev/mem", O_RDWR ); int pagesize = getpagesize(); volatile uint32_t* ptr = mmap( 0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd, GPIO1_ADDR ); ptr[SET_REG] = LED0 << 1; I mapped for testing purposes the AM335x-GPIO-registers from /dev/mem. Writing into these mmap'ed registers for toggling some LEDs does not immediatly take effect. I have to call it several times to get one LED-toggle. Is there any data caching I'm missing? Thanks for hints.