#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
238465 |
|
15-Jul-2012 |
imp |
Configure the peripheral pins for MCI devices. Eliminate the now-unused at91_pio_rm9200.h.
|
#
238439 |
|
14-Jul-2012 |
imp |
Create common routines for configuring the serial ports and use them on all the at91rm9200 boards.
|
#
238415 |
|
13-Jul-2012 |
imp |
For our at91rm9200 boards, register which subtype of SoC is on the board. We'll use this later to control the differences between these two variants' pins.
|
#
238189 |
|
07-Jul-2012 |
imp |
Create a generic way to support multiple boards within an arm platform. Add all the atmel boards to the ATMEL kernel for testing purposes. Until boot loader arg parsing of baord type is done, this won't actually be able to do the runtime selection.
|
#
185539 |
|
02-Dec-2008 |
peter |
Delete a bunch of empty mergeinfo records caused by local copies.
|
#
185307 |
|
25-Nov-2008 |
imp |
Convert BWCT and HL200 over to new board mechanism as well. The TSC4370 config file wasn't committed to this tree, so I don't know if my changes will work on it or not.
|
#
185305 |
|
25-Nov-2008 |
imp |
Start to make it easier to add AT91RM9200 based boards: o Copy kb920x_machdep.c to at91_machdep.c o Move board_init to new board_kb920x.c o rename ramsize to at91_ramsize and make it accessible to board_* files. o Delete files.kb920x. We can do this selection with the new boards. o Add a stub for the tsc4370 board init, which will be added in a future commit. o Add new 'devices' at91_board_kb920x and at91_board_tsc4370. More are needed and will be added in future commits.
Reviewed by: stass, cognet
|
#
185288 |
|
25-Nov-2008 |
imp |
Save boot args.
|
#
185287 |
|
25-Nov-2008 |
imp |
more silly whitespace changes.
|
#
185270 |
|
24-Nov-2008 |
imp |
Fix various whitespace botches, mostly having them at the end of a line.
|
#
185266 |
|
24-Nov-2008 |
imp |
Replace three magic constants with L1_S_SIZE, since that's what is really meant in those places.
|
#
182803 |
|
05-Sep-2008 |
imp |
Kill bogus #if 1. There's no need for it since usb works these days.
|
#
177883 |
|
03-Apr-2008 |
imp |
Take the first baby step towards unifying and cleaning up arminit(): - Pull all the code to deal with the trampoline stuff into one centeralized place and use it from everywhere. - Some minor style tidiness
Reviewed by: tinguely
|
#
177873 |
|
03-Apr-2008 |
imp |
Remove unnecessary #define.
|
#
174880 |
|
23-Dec-2007 |
stas |
- Fix a typo in comments.
MFC after: 1 week Approved by: cognet
|
#
173361 |
|
05-Nov-2007 |
kib |
Fix for the panic("vm_thread_new: kstack allocation failed") and silent NULL pointer dereference in the i386 and sparc64 pmap_pinit() when the kmem_alloc_nofault() failed to allocate address space. Both functions now return error instead of panicing or dereferencing NULL.
As consequence, vmspace_exec() and vmspace_unshare() returns the errno int. struct vmspace arg was added to vm_forkproc() to avoid dealing with failed allocation when most of the fork1() job is already done.
The kernel stack for the thread is now set up in the thread_alloc(), that itself may return NULL. Also, allocation of the first process thread is performed in the fork1() to properly deal with stack allocation failure. proc_linkup() is separated into proc_linkup() called from fork1(), and proc_linkup0(), that is used to set up the kernel process (was known as swapper).
In collaboration with: Peter Holm Reviewed by: jhb
|
#
172989 |
|
25-Oct-2007 |
cognet |
Oooops, get the end of the memory right.
|
#
172945 |
|
24-Oct-2007 |
cognet |
KERNBASE should really be KERNVIRTADDR there too.
MFC after: 1 week
|
#
172943 |
|
24-Oct-2007 |
cognet |
Handle the case where PHYSADDR != KERNPHYSADDR (ie we do not load the kernel at the beginning of the RAM).
MFC After: 1 week
|
#
171673 |
|
31-Jul-2007 |
imp |
Make USB work on the KB9202{,A,B} boards. This has been in p4 for about 7 months. You must have JP6 in the 1-2 position to supply power to the USB devices, but I've used uftdi, uplcom and umass successfully. If you have it in 2-3, then nothing will show up. Also, if you have the FQPA packaging for the AT91RM9200 (like the KN9202 boards have), you will get the following message
uhub0: device problem (IOERROR), disabling port 2
due to a hardware erratum. It is safe to ignore as it is about pins that aren't brought out on the FQPA package and aren't proeprly terminated either. Alas, there's no register to read to tell the FQPA from the BGA versions.
Submitted by: Daan Vreeken Approved by: re (kensmith)
|
#
169900 |
|
23-May-2007 |
cognet |
Remove duplicate includes.
Submitted by: Cyril Nguyen Huu <cyril ci0 org>
|
#
167935 |
|
27-Mar-2007 |
kevlo |
Don't map mini-data cache page since ARM920T doesn't have it.
|
#
164936 |
|
06-Dec-2006 |
julian |
Threading cleanup.. part 2 of several.
Make part of John Birrell's KSE patch permanent.. Specifically, remove: Any reference of the ksegrp structure. This feature was never fully utilised and made things overly complicated. All code in the scheduler that tried to make threaded programs fair to unthreaded programs. Libpthread processes will already do this to some extent and libthr processes already disable it.
Also: Since this makes such a big change to the scheduler(s), take the opportunity to rename some structures and elements that had to be moved anyhow. This makes the code a lot more readable.
The ULE scheduler compiles again but I have no idea if it works.
The 4bsd scheduler still reqires a little cleaning and some functions that now do ALMOST nothing will go away, but I thought I'd do that as a separate commit.
Tested by David Xu, and Dan Eischen using libthr and libpthread.
|
#
164198 |
|
11-Nov-2006 |
alc |
Eliminate unused global variables.
|
#
163709 |
|
26-Oct-2006 |
jb |
Make KSE a kernel option, turned on by default in all GENERIC kernel configs except sun4v (which doesn't process signals properly with KSE).
Reviewed by: davidxu@
|
#
163521 |
|
20-Oct-2006 |
imp |
Add configuration of the SSC lines for second SSC.
|
#
161704 |
|
28-Aug-2006 |
cognet |
Relocate the vector page for AT91, to work around bugs with the LOW_VECTOR code.
|
#
161105 |
|
08-Aug-2006 |
cognet |
Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it maps whole the physical memory, cached, using 1MB section mappings. This reduces the address space available for user processes a bit, but given the amount of memory a typical arm machine has, it is not (yet) a big issue. It then provides a uma_small_alloc() that works as it does for architectures which have a direct mapping.
|
#
161063 |
|
07-Aug-2006 |
kevlo |
Remove a bogus i = 0. Approved by: cognet
|
#
160683 |
|
25-Jul-2006 |
cognet |
Use virtual_avail instead of freemempos as the starting point of the available physical memory, as the vm uses the memory between freemempos and virtual_avail.
MFC After: 3 days
|
#
160453 |
|
17-Jul-2006 |
cognet |
#if => #ifdef
|
#
160374 |
|
14-Jul-2006 |
cognet |
Add a comment explaining why the OHCI mapping has been commented out.
|
#
160363 |
|
14-Jul-2006 |
imp |
MFp4: Introduce framework to configure the multiplexed pins on boot.
Since the USART supprots RS-485 multidrop mode, it allows the TX pins to float. However, for RS-232 operations, we don't want these pins to float. Instead, they should be pulled up to avoid mismatches. Linux does something similar when it configures the TX lines. This implies that we also allow the RX lines to float rather than be in the state they are left in by the boot loader. Since they are input pins, I think that this is the right thing to do.
Plus minor for our board.
|
#
160282 |
|
11-Jul-2006 |
cognet |
Comment out the mapping of the OHCI controller registers va == pa. This address is in the userland address space. The proper thing is either to choose a virtual address in the kernel address space beyond the KVA, or to use pmap_mapdev().
|
#
159814 |
|
20-Jun-2006 |
imp |
Compute physmem so we can print it correctly on boot. Slightly optimize while I'm here.
|
#
159795 |
|
20-Jun-2006 |
imp |
Probe the memory size of the board better. Look at the bus width, number of banks, rows and columns the SDRAMC is programmed to access to determine the RAM size for the board, rather than hard-wiring it to be 32MB. My company's board with 64MB now probes correctly, as does the KB9202 with only 32MB. This means that to detect the right memory size, our boot loader must correctly initialize these values. This is a fairly safe assumption because the boot loader has to initialize SDRAM already, and it isn't really possible to change this register after we've accessed SDRAM.
|
#
159556 |
|
12-Jun-2006 |
cognet |
MFp4: Increase the L1 pagetable needed for the kernel from 8 to 22, to be able to boot fat kernels.
|
#
159365 |
|
07-Jun-2006 |
imp |
Remove sa1_cache_clean_addr. It isn't needed.
Submitted by: kevlo
|
#
157029 |
|
22-Mar-2006 |
cognet |
MFp4: Don't force single-user now we can go multi-user. Call cninit() only after the pagetable has been set, as locore.S won't map the system device for us anymore.
|
#
157024 |
|
22-Mar-2006 |
cognet |
MFp4: teach the KB920x bits how to know where the ELF trampoline puts the strtab and the symtab.
|
#
156832 |
|
17-Mar-2006 |
imp |
Add ohci controller mapping.
|
#
155324 |
|
04-Feb-2006 |
imp |
Import support for the Atmel AT91RM9200 CPU/Microcontroller. This SoC is a ARM920T based CPU with a bunch of built-in peripherals. The inital import supports the SPI bus, the TWI bus (although iicbus integration is not complete), the uarts, the system timer and the onboard ethernet. Support for the Kwikbyte KB9202 (http://www.kwikbyte.com) board is also included, although there's no reason why the 9200 and the 9201 wouldn't also work. Primitive support for running under the skyeye emulator is also provided (although skyeye's support for the AT91RM9200 is a little weak).
The code has been structured so that other members of Atmel's arm family can be supported in the future. The AT91SAM9260 is not presently supported due to lack of hardware. The arm7tdmi families are also not supported becasue they lack an MMU.
Many thanks to cognet@ for his help and assistance in bringing up this board. He did much of the vm work and wrote parts of the uart and system timer code as well as the bus space implementation.
The system boots to single user w/o problem, although the serial console is a little slow and the ethernet driver is still in flux.
This work was sponsored by Timing Solutions, Corporation. I am grateful to their support of the FreeBSD project in this manner.
|