i80321reg.h
Max N. Boyarov
m.boyarov at bsd.by
Thu Jun 1 06:09:57 PDT 2006
>>>>> "OH" == Olivier Houchard writes:
OH> On Thu, Jun 01, 2006 at 03:46:42PM +0300, Max N. Boyarov wrote:
>>
>> >>>>> "OH" == Olivier Houchard writes:
>>
>> OH> On Wed, May 31, 2006 at 08:41:17PM +0300, Max N. Boyarov wrote:
>> >>
>> >> >>>>> "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 :)
>> >>
>>
>> OH> I'm very interested in i80219 support but have no hardware, please make me
>> OH> know how it goes, I'd be more than happy to provide help.
>>
>> It's work :))))
>>
>> http://ncd0.bsd.by/arm/freebsd-arm-ep80219.log
>>
>>
OH> Very nice work !
OH> It seems you've been able to re-use a lot of the code from the 80321, which
OH> is good. Care to share the patches ? :-)
yes, after sleep i cleanup code and share it :)
i change cpu detection, pci irq routing, and pci atu initialization. it's all for
ep80219 (http://www.embeddedplanet.com/products/ep80219.asp).
--
Best regards, Max N. Boyarov
BSD.by Team.
E-mail: m.boyarov at bsd.by
Minsk, Republic of Belarus
http://bsd.by
More information about the freebsd-arm
mailing list