Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 May 2006 20:41:17 +0300
From:      m.boyarov@bsd.by (Max N. Boyarov)
To:        Olivier Houchard <mlfbsd@ci0.org>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: i80321reg.h
Message-ID:  <7hd5du3xdu.fsf@bsd.by>
In-Reply-To: <20060531175025.GA97299@ci0.org> (Olivier Houchard's message of "Wed, 31 May 2006 19:50:25 %2B0200")
References:  <7hodxe4132.fsf@bsd.by> <20060531170631.GA96970@ci0.org> <7hk6823yzj.fsf@bsd.by> <20060531175025.GA97299@ci0.org>

next in thread | previous in thread | raw e-mail | index | archive | help

>>>>> "OH" == Olivier Houchard writes:

 OH>  On Wed, May 31, 2006 at 08:06:40PM +0300, Max N. Boyarov wrote:
 >> 
 >> >>>>> "OH" == Olivier Houchard writes:
 >> 
 >>  OH>  On Wed, May 31, 2006 at 07:21:21PM +0300, Max N. Boyarov wrote:
 >>  >> 
 >>  >> Hi!
 >>  >> 
 >>  >> What document should I read in order to understand
 >>  >> how to calculate the defines that are used in i80321reg.h ?
 >>  >> 
 >> 
 >>  OH> Hi Max,
 >> Hi Olivier, 
 >>  OH> I'm not sure I understand the question. However, those most of those values
 >>  OH> come from the Intel 80321 I/O Processor developer's manual, available here :
 >>  OH> http://www.intel.com/design/iio/manuals/273517.htm
 >> 
 >> Sorry for my english :). I meant, I do not know how freebsd works with virtual
 >> memory, i.e. what address range is used for user applications, where kernel resides.
 >> What would you recommend to read about that? Just for education purposes :) My concern 
 >> is 80321 xcale port only (not generic).
 >> 

 OH> No worries, my english isn't better :)
 OH> Unfortunately I'm not sure there's something explaining this beside the code
 OH> itself, so I'm gonna try to answer.
 OH> Most of this is the same for every arm port, including the 80321.
 OH> The interesting #define are mostly in sys/arm/include/vmparam.h
 OH>  * The line between user space and kernel space
 OH>  * Mappings >= KERNEL_BASE are constant across all processes
 OH>  */
 OH> #define KERNBASE                0xc0000000

 OH> So generally speaking, whatever is >= 0xc0000000 is kernelland, whatever is <
 OH> is userland.
 OH> In arm/xscale/iq31244_machdep.c (which should be usable for every i80321
 OH> port, and thus has an unaccurate name), we map 0xfe800000 (IQ80321_OBIO_BASE),
 OH> physical == virtual, to be able to use the UART early, 
 OH> then we use the virtual address 0xfe400000 (IQ80321_IOW_VBASE) to map the ATU
 OH> stuff and the CPU registers.

 OH> I'm still not sure I properly answer to your question:) Feel free to ask
 OH>  for more.

 Many thanks, I shall continue to experiments with i80219 :)

-- 
Best regards, Max N. Boyarov
BSD.by Team.
E-mail: m.boyarov@bsd.by
Minsk, Republic of Belarus
http://bsd.by



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7hd5du3xdu.fsf>