296373 |
04-Mar-2016 |
marius |
- Copy stable/10@296371 to releng/10.3 in preparation for 10.3-RC1 builds. - Update newvers.sh to reflect RC1. - Update __FreeBSD_version to reflect 10.3. - Update default pkg(8) configuration to use the quarterly branch.
Approved by: re (implicit) |
294683 |
24-Jan-2016 |
ian |
MFC r293045, r293046:
Make the 'env' directive described in config(5) work on all architectures, providing compiled-in static environment data that is used instead of any data passed in from a boot loader.
Previously 'env' worked only on i386 and arm xscale systems, because it required the MD startup code to examine the global envmode variable and decide whether to use static_env or an environment obtained from the boot loader, and set the global kern_envp accordingly. Most startup code wasn't doing so. Making things even more complex, some mips startup code uses an alternate scheme that involves calling init_static_kenv() to pass an empty buffer and its size, then uses a series of kern_setenv() calls to populate that buffer.
Now all MD startup code calls init_static_kenv(), and that routine provides a single point where envmode is checked and the decision is made whether to use the compiled-in static_kenv or the values provided by the MD code.
The routine also continues to serve its original purpose for mips; if a non-zero buffer size is passed the routine installs the empty buffer ready to accept kern_setenv() values. Now if the size is zero, the provided buffer full of existing env data is installed. A NULL pointer can be passed if the boot loader provides no env data; this allows the static env to be installed if envmode is set to do so.
Most of the work here is a near-mechanical change to call the init function instead of directly setting kern_envp. A notable exception is in xen/pv.c; that code was originally installing a buffer full of preformatted env data along with its non-zero size (like mips code does), which would have allowed kern_setenv() calls to wipe out the preformatted data. Now it passes a zero for the size so that the buffer of data it installs is treated as non-writeable.
Also, revert accidental change that snuck into r293045.
|
278786 |
14-Feb-2015 |
loos |
MFC r274670, r274671, r276168:
Moves all the duplicate code to a single function.
Verify for invalid modes and unwanted flags before pass the new flags to driver.
Make gpio_default_map_gpios() static. No functional changes.
Improves the GPIO API description a little bit.
gpio_pin_max must return the maximum supported pin number and not the total number of pins on the system.
|
278782 |
14-Feb-2015 |
loos |
MFC r273799:
Make the GPIO children attach to the first unit available and not only to unit 0.
This fix a bug where a GPIO controller could fail to attach its children (gpioc and gpiobus) if another GPIO driver attach first.
|
278727 |
13-Feb-2015 |
ian |
MFC r277454, r277460, r277465, r277466, r277467, r277469, r277470, r277471, r277472, r277473, r277474, r277475, r277476, r277477, r277478, r277479, r277480, r277512, r277516:
Add inline implementations of arm bus_space_read/write_N().
Revise the arm bus_space implementation to avoid dereferencing the tag on every operation to retrieve the bs_cookie value almost nothing actually uses.
Use the explicit member initializer style to init the bus_space struct.
Use arm/bus_space-v6.c for all armv6 systems
Consolidate many identical implementations of bus_space to a single common tag and implementation shared by armv4 and armv6.
Micro-optimize the new arm inline bus_space implementation by grouping all the data the inline functions access together at the start of the bus_space struct so that they all fit in a single cache line.
|
278613 |
12-Feb-2015 |
ian |
MFC r271394, r271398:
Add more register values to armreg.h and remove CPU_CONTROL_32BP_ENABLE from asm.h as they were already defined in armreg.h.
Unify interrupts bit definition and usage. While here remove PSR_C_bit.
|
275767 |
14-Dec-2014 |
andrew |
Clean up our ARM assembly:
MFC 275256:
Switch to the ARM unified assembly language as the clang integrated as only supports it. Binutils supports it when the ".syntax unified" directive is set.
Sponsored by: ABT Systems Ltd
MFC 275264:
Update _ENTRY to use _EENTRY to reduce the common code.
MFC 275321:
Remove extra labels, ENTRY_NP already provides them.
Sponsored by: ABT Systems Ltd
MFC 275322:
Correctly a few incorrect uses of ENTRY/EENTRY and END/EEND
Sponsored by: ABT Systems Ltd
MFC 275416:
Fix the name of the coprocessor to include the "p" prefix, the clang integrated assembler expects this.
Sponsored by: ABT Systems Ltd
MFC 275418:
Switch to unified syntax so these can be built with clang 3.5.
Sponsored by: ABT Systems Ltd
MFC 275519:
Add missing END macros to some of the xscale functions.
Sponsored by: ABT Systems Ltd
MFC 275520:
Use the unified syntax in a few more assembly files
Sponsored by: ABT Systems Ltd
MFC 275521:
Set the alignment to 4-bytes after a string as clang 3.5 can switch to thumb mode if this is incorrect.
Sponsored by: ABT Systems Ltd
MFC 275522:
Place the literal pool after a RET otherwise clang 3.5 tries to put it too far away from a ldr psuedo instruction. With this clang will place the literal value here where it's close enough to be loaded.
Sponsored by: ABT Systems Ltd
MFC 275523:
Switch to an armv6k cpu, without this clang 3.5 complains "bx lr" is unsupported as it needs a newer cpu.
Sponsored by: ABT Systems Ltd
MFC 275524:
Switch to a .cpu directive. These will work when clang 3.5 is imported where the .arch directive is a nop.
Sponsored by: ABT Systems Ltd
|
266406 |
18-May-2014 |
ian |
MFC 256942, 256943:
- Fix a typo. - Use bus_dmamap_unload(), it is not optional. - The new allocator won't return coherent memory for any size > PAGE_SIZE, so don't assume we have coherent memory, and explicitely use bus_dmamap_sync().
|
266386 |
18-May-2014 |
ian |
MFC 265852: Map device memory using PTE_DEVICE rather than PTE_NOCACHE.
|
266311 |
17-May-2014 |
ian |
MFC 262952, 262958, 262966, 262979, 262980, 262986, 262987, 262995, 262997, 263030, 263033, 263034, 263056, 263057,
Remove all the redundant external declarations of exception vectors and runtime setting of the pointers that's scattered around various places.
Remove all traces of support for ARM chips prior to the arm9 series.
Make the default exception handler vectors point to where I thought they were already pointing: the default handlers (not a panic that says there is no default handler).
Eliminate irq_dispatch.S. Move the data items it contained into arm/intr.c and the functionality it provided into arm/exception.S.
Move the exception vector table (so-called "page0" data) into exception.S and eliminate vectors.S.
Change the way the asm GET_CURTHREAD_PTR() macro is defined so that code using it doesn't have to have an "AST_LOCALS" macro somewhere in the file.
Arrange for arm fork_trampoline() to return to userland via the standard swi_exit code in exception.S instead of having its own inline expansion of the DO_AST and PULLFRAME macros.
Now that the PUSHFRAME and PULLFRAME macros are used only in the swi entry/exit code, they don't need to be macros. Except that didn't work and the whole change was reverted.
Remove some unnecessary indirection and jump right to the handler functions.
Use panic rather than printf to "handle" an arm26 address exception (should never happen on arm32).
Remove the unreferenced DATA() macro.
Remove #include <machine/asmacros.h> from files that don't need it.
|
266194 |
15-May-2014 |
ian |
MFC r261643, r261646, r261648, r261649, r261651, r261656, r261657, r261663, r261676, r261677, r261698, r261778
Consolidate code related to setting up physical memory configuration into a new physmem.c file.
Replace compile-time constant KERNPHYSADDR with abp_physaddr
Calculate the kernel's load address from the PC in the elf / gzip trampoline instead of relying on KERNPHYSADDR as a compile-time constant.
It turns out a global variable is the only straightforward way to communicate the kernel's physical load address from where it's known in initarm() into cpu_mp_start() which is called from non-arm code and takes no parameters.
Remove the now unused MMU_INIT macro.
Use vm_paddr_t, not vm_offset_t, when dealing with physical addresses.
No need to set physmem in each initarm() instance anymore, it's handled in common code now.
Pass the pagetable used from locore.S to initarm to allow it to map data in as required.
Fix the physmem exclude-region clipping logic for the edge-trim case.
Add some extra debugging output when DEBUG is defined.
Update legacy platforms to use new arm_physmem helper routines.
|
266175 |
15-May-2014 |
ian |
MFC r257549, r261642
Don't create a distinct free page pool for segregating allocations that are accessed through the direct map unless the kernel configuration actually includes a direct map. Only a few configurations do, and for the rest the unnecessary free page pool is a small pessimization.
Remove the ARM_USE_SMALL_ALLOC option and code related to it.
|
266160 |
15-May-2014 |
ian |
MFC r261423, r261424, r261516, r261513, r261562, r261563, r261564, r261565, r261596, r261606
Add the imx sdhci controller.
Move Open Firmware device root on PowerPC, ARM, and MIPS systems to a sub-node of nexus (ofwbus) rather than direct attach under nexus. This fixes FDT on x86 and will make coexistence with ACPI on ARM systems easier. SPARC is unchanged.
Add the missing ')' at end of sentence. Reword it to use a more common idiom.
Pass the kernel physical address to initarm through the boot param struct.
Make functions only used in vfp.c static, and remove vfp_enable.
Fix __syscall on armeb EABI. As it returns a 64-bit value it needs to place 32-bit data in r1, not r0. 64-bit data is already packed correctly.
Use abp_physaddr for the physical address over KERNPHYSADDR. This helps us remove the need to load the kernel at a fixed address.
Remove references to PHYSADDR where it's used only in debugging output.
Dynamically generate the page table. This will allow us to detect the physical address we are loaded at to change the mapping.
|
266110 |
15-May-2014 |
ian |
MFC r261252, r261279, r261304, r261305, r261322, r261336, r261337, r261338, r261353
Fix the name of the dts file for the HL201...
When mapping an address, the bsh needs the same offset we do for other things.
Add explicit depends on bus_if.h and device_if.h to avoid a chicken and egg problem in some compilation environments.
Switch to using PAs rather than VAs for the addresses we map for devices. This is a nop, except for what's reported by atmelbus for the resources.
Comment cleanups. Move things around for diff reduction against FDT work.
|
263017 |
11-Mar-2014 |
jhay |
MFC r262020:
Make it possible to use the env kernel config file option for AVILA and CAMBRIA boards that does not use loader to load the kernel. This is basically how it was done for i386. This way tunables can also be set. For example in config file:
env "/conf/AVILA.env"
And in AVILA.env:
vfs.unmapped_buf_allowed=0
|
261455 |
04-Feb-2014 |
eadler |
MFC r258779,r258780,r258787,r258822:
Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this shifts into the sign bit. Instead use (1U << 31) which gets the expected result.
Similar to the (1 << 31) case it is not defined to do (2 << 30).
This fix is not ideal as it assumes a 32 bit int, but does fix the issue for most cases.
A similar change was made in OpenBSD.
|
259377 |
14-Dec-2013 |
ian |
MFC r258392, r258412:
Call cpu_setup() immediately after the page tables are installed. This enables data cache and other chip-specific features. It was previously done via an early SYSINIT, but it was being done after pmap and vm setup, and those setups need to use mutexes. On some modern ARM platforms, the ldrex/strex instructions that implement mutexes require the data cache to be enabled.
Call cpu_setup() from the initarm() routine on platforms that don't use the common FDT-aware initarm() in arm/machdep.c.
|
259364 |
14-Dec-2013 |
ian |
MFC r257648, r257649, r257660:
Begin reducing code duplication in arm pmap.c and pmap-v6.c by factoring out common code related to mapping device memory into a new devmap.c file.
Remove the growing duplication of code that used pmap_devmap_find_pa() and then did some math with the returned results to generate a virtual address, and likewise in reverse to get a physical address. Now there are a pair of functions, arm_devmap_vtop() and arm_devmap_ptov(), to do that. The bus_space_map() implementations are rewritten in terms of these.
Move remaining code and data related to static device mapping into the new devmap.[ch] files. Emphasize the MD nature of these things by using the prefix arm_devmap_ on the function and type names (already a few of these things found their way into MI code, hopefully it will be harder to do by accident in the future).
|
259342 |
13-Dec-2013 |
ian |
MFC r257258, r257265: Include headers (if_var.h and others) where needed.
The change that triggered the need for this on head was r257244. That hasn't been MFC'd yet, but there's no harm in paving the way for it with this MFC.
|
259329 |
13-Dec-2013 |
ian |
MFC r257199, r257200, r257217:
Remove all #include <machine/pmap.h> from arm code. It's already included by vm/pmap.h, which is a prerequisite for arm/machine/pmap.h so there's no reason to ever include it directly.
Remove #include <machine/frame.h> from all the arm code that doesn't really need it. That would be almost everywhere it was included. Add it in a couple files that really do need it and were previously getting it by accident via another header.
Remove the last dregs of trapframe_t. It turns out only arm was using this type, so remove it to make arm code more consistant with other platforms.
|
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
|
254025 |
07-Aug-2013 |
jeff |
Replace kernel virtual address space allocation with vmem. This provides transparent layering and better fragmentation.
- Normalize functions that allocate memory to use kmem_* - Those that allocate address space are named kva_* - Those that operate on maps are named kmap_* - Implement recursive allocation handling for kmem_arena in vmem.
Reviewed by: alc Tested by: pho Sponsored by: EMC / Isilon Storage Division
|
249582 |
17-Apr-2013 |
gabor |
- Correct mispellings of the word occurrence
Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (via private mail)
|
249449 |
13-Apr-2013 |
dim |
Fix undefined behaviour in several gpio_pin_setflags() routines (under sys/arm and sys/mips), squelching the clang 3.3 warnings about this.
Noticed by: tinderbox and many irate spectators Submitted by: Luiz Otavio O Souza <loos.br@gmail.com> PR: kern/177759 MFC after: 3 days
|
247564 |
01-Mar-2013 |
alc |
Eliminate a redundant #include: machine/pmap.h is already included through vm/pmap.h.
|
247429 |
28-Feb-2013 |
attilio |
Complete r247297: Remove unused inclusions of vm/vm_pager.h and vm/vnode_pager.h.
Sponsored by: EMC / Isilon storage division
|
247046 |
20-Feb-2013 |
alc |
Initialize vm_max_kernel_address on non-FDT platforms. (This should have been included in r246926.)
The second parameter to pmap_bootstrap() is redundant. Eliminate it.
Reviewed by: andrew
|
243882 |
05-Dec-2012 |
glebius |
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags within sys.
Exceptions:
- sys/contrib not touched - sys/mbuf.h edited manually
|
240802 |
22-Sep-2012 |
andrew |
Create a common set_stackptrs in sys/arm/machdep.c.
On single core devices set_stackptrs is only ever called with cpu = 0 in initarm and will be identical to the existing function. On SMP this needs to be implemented for sys/arm/mp_machdep.c, but the implementations are identical for each SoC.
|
239362 |
18-Aug-2012 |
andrew |
Set machine correctly on ARM. This allows universe to use the correct world when building each kernel.
Reviewed by: imp
|
239351 |
17-Aug-2012 |
rpaulo |
The GPIO drivers were initialising their mutexes with type of MTX_NETWORK_LOCK. This is wrong since these mutexes have nothing to do with networking.
|
239268 |
15-Aug-2012 |
gonzo |
Merging projects/armv6, part 1
Cummulative patch of changes that are not vendor-specific: - ARMv6 and ARMv7 architecture support - ARM SMP support - VFP/Neon support - ARM Generic Interrupt Controller driver - Simplification of startup code for all platforms
|
238329 |
10-Jul-2012 |
imp |
Remove some unused variables/externs that have been copied too many times...
|
237045 |
14-Jun-2012 |
imp |
More Linux boot support. Create arm_dump_avail_init() to initialize this array either from Linux boot data, when enabled, or in the typical way that most ports do it. arm_pyhs_avail_init is coming soon since it must be a separate function.
|
237040 |
14-Jun-2012 |
imp |
Modify all the arm platform files to call parse_boot_param passing in the boot parameters from initarm first thing. parse_boot_param parses the boot arguments and converts them to the /boot/loader metadata the rest of the kernel uses. parse_boot_param is a weak alias to fake_preload_metadata, which all the platforms use now, but may become more extensive in the future.
Since it is a weak symbol, specific boards may define their own parse_boot_param to interface to custom boot loaders.
Reviewed by: cognet@, Ian Lapore
|
237010 |
13-Jun-2012 |
imp |
Remove leakage of other patches into last commit.
|
236987 |
13-Jun-2012 |
imp |
trim trailing spaces that have accumulated over the years (these files served as the basis for too many other platforms).
|
236828 |
10-Jun-2012 |
andrew |
Pull out the common code to initialise proc0 & thread0 from initarm to a common function.
Reviewed by: imp
|
236524 |
03-Jun-2012 |
imp |
Minor rearrangement of the locore <-> initarm interface. Pass in a structure with the first 4 registers to allow a wider range of boot loaders to work. Future commits will make use of this to centralize support for the different loaders.
|
235273 |
11-May-2012 |
imp |
Remove obsolte big endian flag. It is no longer needed.
|
229125 |
31-Dec-2011 |
marius |
Fix header pollution, possibly unbreaking the build of cfi_bus_ixp4xx.c as part of cfi.ko.
|
227849 |
22-Nov-2011 |
hselasky |
Rename device_delete_all_children() into device_delete_children().
Suggested by: jhb @ and marius @ MFC after: 1 week
|
227843 |
22-Nov-2011 |
marius |
- There's no need to overwrite the default device method with the default one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
|
227701 |
19-Nov-2011 |
hselasky |
Move the device_delete_all_children() function from usb_util.c to kern/subr_bus.c. Simplify this function so that it no longer depends on malloc() to execute. Identify a few other places where it makes sense to use device_delete_all_children().
MFC after: 1 week
|
227309 |
07-Nov-2011 |
ed |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
226832 |
27-Oct-2011 |
kevlo |
Check the return value of BUS_SETUP_INTR()
Reviewed by: imp
|
226325 |
12-Oct-2011 |
thompsa |
Name these gpio pins better, they are on an external PLD and not the same as the cpu wired gpio.
|
226324 |
12-Oct-2011 |
thompsa |
Dont just set the pin high when turning on output, use the current value. Also let this value be set when in input mode.
|
226034 |
05-Oct-2011 |
thompsa |
Add missing newbus glue, this has never attached properly to gpiobus.
|
219025 |
25-Feb-2011 |
obrien |
Add a real dependency on the microcode. Now when one does 'make kernel ; make kernel' the second invocation only does: `kernel.ko' is up to date. rather than reproduce all the binary microcode files and relink the kernel. [continuation of r212429]
|
218666 |
13-Feb-2011 |
cognet |
Call init_param1() much earlier, so that msgbufsize is non-zero when we want to map and use the msgbuf.
|
217688 |
21-Jan-2011 |
pluknet |
Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize.
Submitted by: perryh pluto.rain.com (previous version) Reviewed by: jhb Approved by: kib (mentor) Tested by: universe
|
216681 |
23-Dec-2010 |
imp |
IXP4XX_GPIO_{,UN}LOCK() don't take args. Remove the sc here to make this compile again.
|
215319 |
14-Nov-2010 |
thompsa |
Provide a mutex around the read/modify/write of the IXP425_GPIO_* registers. Giant was used in some places, but not all.
|
215142 |
11-Nov-2010 |
thompsa |
Add a GPIO driver for the Gateworks Cambria platform.
The external gpio pins are connected to a PLD on the i2c bus, unfortunatley this device does not conform by failing to send an ack after each byte written. The iicbb driver will abort the transfer when the address is not ack'd and it would introduce a lot of churn to be able to pass a flag down to iicbb_start/iicbb_write. Instead we do bad things by grabbing the iicbus but then doing our own bit banging.
|
215034 |
09-Nov-2010 |
brucec |
Fix typos.
PR: bin/148894 Submitted by: olgeni
|
214948 |
07-Nov-2010 |
thompsa |
Remove line for the uncommitted Cambria gpio drive that snuck in with r214946.
|
214946 |
07-Nov-2010 |
thompsa |
Hook up the five gpio pins on the Avila board to the gpio framework. There are actually 16 I/O lines but the other ones are used for system devices and interrupts.
The IXP4XX platform can set interrupts on these pins for high/low/rising/falling/transitional but this is not implemented yet.
The Cambria has the same interface but as all the pins are assigned to system functions the gpio header is toggled via a PLD on the i2c bus and is not supported by this commit.
|
213893 |
15-Oct-2010 |
marius |
Convert the PHY drivers to honor the mii_flags passed down and convert the NIC drivers as well as the PHY drivers to take advantage of the mii_attach() introduced in r213878 to get rid of certain hacks. For the most part these were: - Artificially limiting miibus_{read,write}reg methods to certain PHY addresses; we now let mii_attach() only probe the PHY at the desired address(es) instead. - PHY drivers setting MIIF_* flags based on the NIC driver they hang off from, partly even based on grabbing and using the softc of the parent; we now pass these flags down from the NIC to the PHY drivers via mii_attach(). This got us rid of all such hacks except those of brgphy() in combination with bce(4) and bge(4), which is way beyond what can be expressed with simple flags.
While at it, I took the opportunity to change the NIC drivers to pass up the error returned by mii_attach() (previously by mii_phy_probe()) and unify the error message used in this case where and as appropriate as mii_attach() actually can fail for a number of reasons, not just because of no PHY(s) being present at the expected address(es).
Reviewed by: jhb, yongari
|
212413 |
10-Sep-2010 |
avg |
bus_add_child: change type of order parameter to u_int
This reflects actual type used to store and compare child device orders. Change is mostly done via a Coccinelle (soon to be devel/coccinelle) semantic patch. Verified by LINT+modules kernel builds.
Followup to: r212213 MFC after: 10 days
|
207554 |
03-May-2010 |
sobomax |
Add new tunable 'net.link.ifqmaxlen' to set default send interface queue length. The default value for this parameter is 50, which is quite low for many of today's uses and the only way to modify this parameter right now is to edit if_var.h file. Also add read-only sysctl with the same name, so that it's possible to retrieve the current value.
MFC after: 1 month
|
205705 |
26-Mar-2010 |
rpaulo |
Pass the correct pointer to fled_cb().
|
204198 |
22-Feb-2010 |
rpaulo |
Fix previous commit: led_func() doesn't exist, it should be fled_cb().
Pointed out by: bz
|
203752 |
10-Feb-2010 |
rpaulo |
Turn on the front LED at boot time like we do with the Avila.
|
200928 |
23-Dec-2009 |
rpaulo |
Intel XScale hwpmc(4) support.
This brings hwpmc(4) support for 2nd and 3rd generation XScale cores. Right now it's enabled by default to make sure we test this a bit. When the time comes it can be disabled by default. Tested on Gateworks boards.
A man page is coming.
Obtained from: //depot/user/rpaulo/xscalepmc/...
|
196479 |
23-Aug-2009 |
cognet |
No need to remove the same flag multiple times.
|
195049 |
26-Jun-2009 |
rwatson |
Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ IF_ADDR_UNLOCK() across network device drivers when accessing the per-interface multicast address list, if_multiaddrs. This will allow us to change the locking strategy without affecting our driver programming interface or binary interface.
For two wireless drivers, remove unnecessary locking, since they don't actually access the multicast address list.
Approved by: re (kib) MFC after: 6 weeks
|
194784 |
23-Jun-2009 |
jeff |
Implement a facility for dynamic per-cpu variables. - Modules and kernel code alike may use DPCPU_DEFINE(), DPCPU_GET(), DPCPU_SET(), etc. akin to the statically defined PCPU_*. Requires only one extra instruction more than PCPU_* and is virtually the same as __thread for builtin and much faster for shared objects. DPCPU variables can be initialized when defined. - Modules are supported by relocating the module's per-cpu linker set over space reserved in the kernel. Modules may fail to load if there is insufficient space available. - Track space available for modules with a one-off extent allocator. Free may block for memory to allocate space for an extent.
Reviewed by: jhb, rwatson, kan, sam, grehan, marius, marcel, stas
|
194753 |
23-Jun-2009 |
sam |
Now that we have UARTs running with fast interrupt handlers the ata driver's i/o ops must be locked to avoid chaos. Extend the cambria bus tag to support ata and add a spin lock. The ata driver is hacked to use that instead of it's builtin hack for ixp425. Once the ata driver is fixed to not be confused about byte order we can generalize the cambria bus tag code and make it generally useful.
While here take advantage of our being ixp435-specific to remove delays when switching between byte+word accesses and to eliminate the 2us delay for the uarts (the spin lock overhead looks to do this for us).
|
194752 |
23-Jun-2009 |
sam |
use consistent style
|
194670 |
22-Jun-2009 |
sam |
o add a bus space tag that forces a 2usec delay between r/w ops; this is used for the optional GPS+RS485 uarts on the Gateworks Cambria boards which otherwise are unreliable o setup the hack bus space tag for the GPS+RS485 uarts o program the gpio interrupts for the uarts to be edge-rising o force timing on the expansion bus for the uarts to be "slow"
Thanks to Chris Lang of Gateworks for these tips.
|
194668 |
22-Jun-2009 |
sam |
o remove hack to write UUE+RTOIE in the uart's IER; force them with hints o honor hints for the rclk
|
194656 |
22-Jun-2009 |
sam |
hook arm_post_filter to ACK GPIO interrupts; this fixes the interrupt storm observed on the GPS+RS485 uarts on Gateworks Cambria boards
Reviewed by: cognet
|
194655 |
22-Jun-2009 |
sam |
always define Cambria GPS+RS485 mappings as they are no longer conditional
|
194654 |
22-Jun-2009 |
sam |
map the optional GPS and RS485 uart's on the Gateworks Cambria board (may want to make these conditional)
|
194653 |
22-Jun-2009 |
sam |
add ixp425_set_gpio to program the gpio interrupt type
|
194652 |
22-Jun-2009 |
sam |
rewrite arm_get_next_irq to always make forward progress (should be optimized)
|
194651 |
22-Jun-2009 |
sam |
kill stray whitespace
|
194650 |
22-Jun-2009 |
sam |
move logic to ACK a GPIO to a separate function
|
194649 |
22-Jun-2009 |
sam |
swap order in ddb show gpio printf
|
194648 |
22-Jun-2009 |
sam |
make type use consistent
|
194378 |
17-Jun-2009 |
sam |
Add workaround to get IXP435 NPE-A working: reseting NPE-A after NPE-C causes both to become inoperative; this apparently was done by the original IAL code as a workaround for IMEM parity errors which we've not seen so just disable the reset.
Note this problem does not occur on IXP425 boards. The linux driver does fuse-resets on each NPE but in the order NPE-A < NPE-B < NPE-C (when probing for which NPE's are present/operational); we may want to switch to a similar scheme but for now disable the resets until we see an issue.
|
194325 |
17-Jun-2009 |
sam |
correct data/instruction memory sizes for non-ixp425 parts (these are only used to bounds-check writes when loading firmware)
|
194322 |
17-Jun-2009 |
sam |
remove IAL vestige for defining the max data/instruction memory size; instead of defining them according to ixp46x add new defines so we can do this at run time
|
194321 |
17-Jun-2009 |
sam |
o correct default miibase for NPE-B and NPE-C; these values are normally taken from the hints file so this should have no effect o set the port address "just in case" o add NPE-A support to the tx done qmgr callback
|
194319 |
17-Jun-2009 |
sam |
add ixp4xx_write_feature_bits
|
194044 |
12-Jun-2009 |
imp |
devclass_find_free_unit(xxx, 0) is identical to -1 for most applications (including this one). Switch to it since the former is a racy interface.
|
194015 |
11-Jun-2009 |
avg |
strict kobj signatures: number of fixes for arm architecture
no functional changes should result
Reviewed by: imp, current@ Approved by: jhb (mentor)
|
193847 |
09-Jun-2009 |
marcel |
Pass the previously returned IRQ back to arm_get_next_irq() so that the implementation can guarantee forward progress in the event of a stuck interrupt or interrupt storm. This is especially critical for fast interrupt handlers, as they can cause a hard hang in that case. When first called, arm_get_next_irq() is passed -1.
Obtained from: Juniper Networks, Inc.
|
193104 |
30-May-2009 |
sam |
maintain existing style
|
193096 |
30-May-2009 |
attilio |
When user_frac in the polling subsystem is low it is going to busy the CPU for too long period than necessary. Additively, interfaces are kept polled (in the tick) even if no more packets are available. In order to avoid such situations a new generic mechanism can be implemented in proactive way, keeping track of the time spent on any packet and fragmenting the time for any tick, stopping the processing as soon as possible.
In order to implement such mechanism, the polling handler needs to change, returning the number of packets processed. While the intended logic is not part of this patch, the polling KPI is broken by this commit, adding an int return value and the new flag IFCAP_POLLING_NOCOUNT (which will signal that the return value is meaningless for the installed handler and checking should be skipped).
Bump __FreeBSD_version in order to signal such situation.
Reviewed by: emaste Sponsored by: Sandvine Incorporated
|
192901 |
27-May-2009 |
thompsa |
Delete the old USB stack. The new stack has settled in and has all the drivers/functionality and then some.
|
192660 |
23-May-2009 |
sam |
accumulate npe statistics and expose them through dev.npe.X.stats
|
192599 |
22-May-2009 |
des |
Expand $FreeBSD$
|
189651 |
10-Mar-2009 |
sam |
add IXP4XX_FLASH_SIZE config knob that can be used to override the default flash size; this is necessary at the moment because we map all of flash at boot, eventually we'll do this on the fly
|
189650 |
10-Mar-2009 |
sam |
map CS0 on 2358 so flash is accessible
|
189645 |
10-Mar-2009 |
sam |
mark device capable of vlan-size frames
Obtained from: netbsd
|
189642 |
10-Mar-2009 |
sam |
turn off inclusion of FCS in rx'd frames; we don't use it anywhere and dhclient gets annoyed when it receives FCS in frames via bpf
|
189641 |
10-Mar-2009 |
sam |
o add missing bus_release_resource and bus_deactivate_resource that just operate on the resource (we have no local resources to manage); this fixes drivers that alloc/release resources in their probe method and then do it again in attach o while here add some prints to catch failures and massage style a bit
|
189633 |
10-Mar-2009 |
sam |
bring in ddb "show gpio" support from Cambria branch
|
189632 |
10-Mar-2009 |
sam |
Small cleanup of memory resource allocation from Cambria branch: o encode need for A4 bus space tag hackery according to the memory address; checking for "uart" breaks down with the GPS chip support which is also a uart but does not require the same hackery o encode the correct memory window instead of carving up all of i/o space, potentially with a larger window than a device should have; this likely should be handled in the drivers by using a proper bus alloc call but since some drivers depend on the bus support to figure this out we cannot simply mod them o add optional GPS and RS485 support (conditionally as the support isn't ready yet)
|
189630 |
10-Mar-2009 |
sam |
catch up with r189306; handle delayed activation of resources
Submitted by: jhb
|
189548 |
08-Mar-2009 |
sam |
o mark unexpected callbacks more clearly o unwrap some lines
|
189463 |
06-Mar-2009 |
sam |
Cleanup virtual device mapping some more: o improves understandability by replacing numerous relative address calculations with fixed addresses; everything should now match up more easily with the vm layout shown at the top of the file o move the expansion bus chip select regions to be contiguous with the expansion bus configuration area; this is not exploited right now but allows map consolidation in the future o leave a gap between the expansion bus regions and the pci config space in case we want to map more exp bus cs regions
Reviewed by: imp, thompsa
|
189461 |
06-Mar-2009 |
sam |
remove unneeded static mappings for NPE and MAC regions; these are already mapped through the IO region so never used
Reviewed by: imp, thompsa
|
189457 |
06-Mar-2009 |
sam |
fix legacy usb configuration
|
189456 |
06-Mar-2009 |
sam |
o simplify code in ixppcib_conf_setup o fixup debug printfs
|
189020 |
24-Feb-2009 |
thompsa |
Update paths for ehci_ixp4xx.c in the old and new stacks.
|
188505 |
11-Feb-2009 |
sam |
fix ARM_USE_SMALL_ALLOC after memory layout changes
Submitted by: cognet
|
188088 |
03-Feb-2009 |
sam |
Add support for the StrataFlash on 2348 boards: o add bus shim for cfi driver o add static mapping for CS0 (we map all 16M as the cfi driver doesn't support demand mapping)
Note this needs some tweaking to work for 2358 boards which is why the CAMBRIA config is not touched.
|
186441 |
23-Dec-2008 |
sam |
move IXP4XX EHCI bus shim to the usb directory and rename
|
186420 |
23-Dec-2008 |
sam |
NPE cleanups needed for ancillary drivers (e.g. crypto acceleration): o check feature bits when probing NPE ethernet support o move firmware loading logic from if_npe to core npe support o allow multiple refs to core NPE driver o while here fix hw.npe.debug tunable path
|
186419 |
23-Dec-2008 |
sam |
kill NPE_PORTS_MAX, it's not used and likely will not be
|
186418 |
23-Dec-2008 |
sam |
Fill in feature control support: o add definitions for more bits, for masking out IXP465-specific bits, and %b format string o add ixp4xx_read_feature_bits to retrieve the mask of valid features (aka fuse bits) o add cpu_is_ixp42x() macro o print feature bits at boot
|
186416 |
23-Dec-2008 |
sam |
o enable TT and big-endian MMIO o force a reset before ehci_init to get byte-select setup
LS, FS, and HS devices now work on the Cambria board
|
186352 |
20-Dec-2008 |
sam |
Merge support for Gateworks Cambria boards: o add support for IXP435 cpu's (e.g. 64 irq's) o add support for Cambria-specific devices: npe, led's (front panel and octal latch), ehci, mcu, ide cf o redo memory mapping for xscale/ixp4xx boards: previously memory was assumed aliased to 0x10000000 but this appears to be true only for ixp425 systems and breaks operation on others; rework so memory is assumed to start at 0 o rework NPE configuration support to use NPE id's instead of port #'s; these changes also rename the associated MAC's to follow the NPE's they are attached to o update npe firmware to latest rev (same license) and update default fw imageid's to match; in particular this adds NPE-A and crypto support o re-style NPE fw handling code and add a console msg identifying the attributes of the loaded fw o fix numerous problems with handling failures during npe setup o fix npe rx q setup; need to spin waiting for mailbox responses during early boot stages as qmgr interrupts are not delivered; this fixes the problem where all 8 traffic classifications were not tied to the rx q (and eliminates the console msg "remember to fix rx q setup") o add DELAY to npe MII wait logic for IXP435 o strip down builtin phys->virt address translation table in resource handling to just those resources that require it and add a console msg to alert people when this (kludge) table needs to be extended o purge a bunch of dead netbsd-ism's o cleanup avila led driver o add Cambria support to boot2 and rework code for better multi-board support
Notes: 1. NPE-A doesn't work and causes NPE-C to stop working; it is disabled in the hints 2. USB isn't working yet; controller communicates ok but device discovery fails 3. Cambria support must be configured separately from IXP425 boards; multi-board support is TBD
Sponsored by: Hobnob, Gateworks (board donation) Reviewed by: imp
|
185513 |
01-Dec-2008 |
stas |
- Fix spelling error in comments.
PR: arm/128891 Submitted by: Pavel Pankov <pankov_p@mail.ru> Approved by: kib (mentor)
|
183886 |
14-Oct-2008 |
sam |
correct sizeof calculation
PR: arm/128095 Submitted by: Henning Petersen MFC after: 1 week
|
183557 |
02-Oct-2008 |
bms |
Allow static hints to override kenv.
|
182946 |
11-Sep-2008 |
cognet |
Bandaid: disable interrupts to make sure intr_enabled and the IER register are in sync. I'm not sure why it is needed, and why it wouldn't be on other arm platforms, but it prevents a lockup under heavy I/O.
|
182932 |
11-Sep-2008 |
raj |
IXP425: split handling of the two QMGR interrupts so they are separately managed. Adjust ixpqmgr_{attach,detach} to comply with device_* interface.
Reviewed by: cognet, imp, sam, stass Tested by: cognet
|
181303 |
04-Aug-2008 |
jhb |
Add locking to the various iicbus(4) bridge drivers: - Just grab Giant in the ixp425_iic(4) driver since this driver uses a shared address/data register window pair to access the actual I2C registers. None of the other ixp425 drivers lock access to these shared address/data registers yet and that would need to be done before this could use any meaningful locking. - Add locking to the interrupt handler and 'iicbus_reset' methods of the at91_twi(4) driver. - Add locking to the pcf(4) driver. Other pcf(4) fixes include: - Don't needlessly zero the softc. - Use bus_foo rather than bus_space_foo and remove bus space tag and handle from softc. - The lpbb(4) driver just grabs Giant for now. This will be refined later when ppbus(4) is locked. - As was done with smbus earlier, move the DRIVER_MODULE() lines to match the bus driver (either iicbus or iicbb) to the bridge driver into the bridge drivers.
Tested by: sam (arm/ixp425)
|
180584 |
18-Jul-2008 |
alc |
Eliminate unused global variables. (These global variables became fields of struct kva_md_info many years ago.)
|
178001 |
08-Apr-2008 |
kevlo |
Remove some long-dead code
Reviewed by: cognet
|
177944 |
05-Apr-2008 |
cognet |
Remove bus_space_generic.c from the per-plarform files. Having it in the per-cpu files should be enough.
|
177887 |
03-Apr-2008 |
raj |
Refactor certain ARM bus space methods: instead of having multiple copies of the same code introduce sys/arm/arm/bus_space_generic.c for a shared set of routines.
Reviewed by: sam Approved by: cognet (mentor)
|
177886 |
03-Apr-2008 |
raj |
Fix AVILA build.
Reviewed by: sam Approved by: cognet(mentor)
|
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
|
177874 |
03-Apr-2008 |
imp |
KERNBASE + 0x00200000 is the same thing as KERNVIRTADDR on this platform, so use the latter in preference to the former. This makes the fake_preload setup be the same between kb920x_machdep.c and avila_machdep.c....
|
177505 |
22-Mar-2008 |
sam |
Improve mac+phy configuration so that hints can be used to describe layouts different than the defaults: o hint.npe.0.mac="A", "B", etc. specifies the window for MAC register accesses o hint.npe.0.mii="A", "B", etc. specifies PHY registers o hint.npe.1.phy=%d specifies the PHY to map to a port
This allows devices like NSLU to be setup w/o code changes and will also be used for forthcoming support for more Avila boards.
Reviewed by: imp MFC after 1 week
|
177456 |
20-Mar-2008 |
sam |
map device 5; the optional USB controller on Gateworks 2348 boards shows up here instead of the minipci slot at J4
Reviewed by: cognet, imp MFC after: 1 week
|
176759 |
03-Mar-2008 |
kevlo |
Convert to be a 2-clause bsd-only license.
Pointed out by: rwatson
|
176588 |
26-Feb-2008 |
rwatson |
On the ixp425, when we fail to initialize the memory rman instance, the panic message should read "memory", not "IRQ".
MFC after: 3 days
|
175418 |
17-Jan-2008 |
jhb |
- Retire npe_defrag(), gem_defrag(), msk_defrag(), nfe_defrag(), and re_defrag() and use m_collapse() instead. - Replace a reference to ath_defrag() in a comment in if_wpi.c with m_collapse().
|
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
|
173336 |
04-Nov-2007 |
cognet |
Remove a staled comment, NPE-C should work fine.
Reviewed by: sam
|
172568 |
12-Oct-2007 |
kevlo |
Spelling fix for interupt -> interrupt
|
172394 |
30-Sep-2007 |
marius |
Make the PCI code aware of PCI domains (aka PCI segments) so we can support machines having multiple independently numbered PCI domains and don't support reenumeration without ambiguity amongst the devices as seen by the OS and represented by PCI location strings. This includes introducing a function pci_find_dbsf(9) which works like pci_find_bsf(9) but additionally takes a domain number argument and limiting pci_find_bsf(9) to only search devices in domain 0 (the only domain in single-domain systems). Bge(4) and ofw_pcibus(4) are changed to use pci_find_dbsf(9) instead of pci_find_bsf(9) in order to no longer report false positives when searching for siblings and dupe devices in the same domain respectively. Along with this change the sole host-PCI bridge driver converted to actually make use of PCI domain support is uninorth(4), the others continue to use domain 0 only for now and need to be converted as appropriate later on. Note that this means that the format of the location strings as used by pciconf(8) has been changed and that consumers of <sys/pciio.h> potentially need to be recompiled.
Suggested by: jhb Reviewed by: grehan, jhb, marcel Approved by: re (kensmith), jhb (PCI maintainer hat)
|
172358 |
27-Sep-2007 |
cognet |
Ok I hope I got it right this time. After discussion with Sam, switch back to use firmware(9) instead of having the firmware in hex format. Put the binary firmware uuencoded into sys/contrib/dev/npe, and slap a LICENSE file, as found on the Intel website.
Approved by: re (blanket), mux (mentor) MFC After: 1 week
|
172357 |
27-Sep-2007 |
cognet |
Now that Intel changed the license for the NPE firmware, import it directly hexed into our tree, instead of requiring the user to download it.
Approved by: re (blanket) MFC after: 1 week
|
170109 |
29-May-2007 |
jhay |
Remove the hardcoded IXP425_UART?_VBASE values in the uart_ixp425_probe() and uart_cpu_getdev(). Change uart_cpu_getdev() to use hints to find the console.
Reviewed by: marcel
|
170069 |
28-May-2007 |
jhay |
We do not need to get the irq out of ivars in ixp425_setup_intr(). By this time they have already been set. In fact trying to set it here too breaks irqs for pci devices.
|
170068 |
28-May-2007 |
jhay |
Optimize a bit more, both the Avila and Pronghorn Metro boards work with GPIO_TYPE_EDG_RISING.
Reviewed by: sam
|
169954 |
24-May-2007 |
sam |
Search for a proper ucode image to use by incrementing the minor release number up to the max. This should eliminate the need to tweak the default imageid define for later releases that are found on the Intel web site.
MFC after: 1 month
|
169952 |
24-May-2007 |
sam |
Move to hints for configuring numerous devices so we can eliminate various quirky code: uarts, led, cf/ide, ixpqmgr, npe are now specified with hints.
May want to put some of these devices back in the code and just use hints to override/specify configuration.
MFC after: 1 month
|
169950 |
24-May-2007 |
sam |
Don't muck with the internal state of a uart during probe, all we should setup is the class. This corrects an issue where enabling uart1 on the avila board caused uart0 to stop working during boot (no msgs generated by rc scripts were displayed).
Reviewed by: imp MFC after: 3 weeks
|
169947 |
24-May-2007 |
sam |
Fix interrupt setup; rev 1.3 switched the irq to GPIO_TYPE_ACT_LOW but this does not work on avila boards; special case them to use GPIO_TYPE_EDG_RISING.
MFC after: 3 weeks Submitted by: jhay
|
169900 |
23-May-2007 |
cognet |
Remove duplicate includes.
Submitted by: Cyril Nguyen Huu <cyril ci0 org>
|
169230 |
03-May-2007 |
kevlo |
Remove sa1_cache_clean_addr. It isn't needed.
|
168281 |
02-Apr-2007 |
marcel |
Don't expose the uart_ops structure directly, but instead have it obtained through the uart_class structure. This allows us to declare the uart_class structure as weak and as such allows us to reference it even when it's not compiled-in. It also allows is to get the uart_ops structure by name, which makes it possible to implement the dt tag handling in uart_getenv(). The side-effect of all this is that we're using the uart_class structure more consistently which means that we now also have access to the size of the bus space block needed by the hardware when we map the bus space, eliminating any hardcoding.
|
167950 |
27-Mar-2007 |
n_hibma |
Revisit the watchdogs: Resetting the error to EINVAL after failing to set the watchdog might hide the succesful arming of an earlier one. Accept that on failing to arm any watchdog (because of non-supported timeouts) EOPNOTSUPP is returned instead of the more appropriate EINVAL.
MFC after: 3 days
|
167570 |
14-Mar-2007 |
jhay |
Map the second CS of the compact flash too. This allow us access to the alternate status and the control registers. Remove the local version of ata_reset.
Add support for the ADI Pronghorn Metro boards. They use CS3 and CS4 instead of Avila's CS1 and CS2.
|
167565 |
14-Mar-2007 |
jhay |
Map the second CS of the compact flash too. This allow us access to the alternate status and the control registers. Remove the local version of ata_reset.
Add support for the ADI Pronghorn Metro boards. They use CS3 and CS4 instead of Avila's CS1 and CS2.
OKed by: sam, cognet
|
167263 |
06-Mar-2007 |
piso |
Wrap ixppcib_setup_intr() at 80.
|
167255 |
06-Mar-2007 |
kevlo |
Reverse this change. malloc() with M_WAITOK never fails.
Noted by: cognet, brian and thompsa
|
167219 |
05-Mar-2007 |
kevlo |
Check for malloc return value
|
166996 |
25-Feb-2007 |
cognet |
Update for the new prototype of bus_setup_intr().
|
166901 |
23-Feb-2007 |
piso |
o break newbus api: add a new argument of type driver_filter_t to bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many Approved by: re@
|
166756 |
15-Feb-2007 |
luigi |
Cleanup and document the implementation of firmware(9) based on a version that i posted earlier on the -current mailing list, and subsequent feedback received.
The core of the change is just in sys/firmware.h and kern/subr_firmware.c, while other files are just adaptation of the clients to the ABI change (const-ification of some parameters and hiding of internal info, so this is fully compatible at the binary level).
In detail: - reduce the amount of information exported to clients in struct firmware, and constify the pointer;
- internally, document and simplify the implementation of the various functions, and make sure error conditions are dealt with properly.
The diffs are large, but the code is really straightforward now (i hope).
Note also that there is a subtle issue with the implementation of firmware_register(): currently, as in the previous version, we just store a reference to the 'imagename' argument, but we should rather copy it because there is no guarantee that this is a static string. I realised this while testing this code, but i prefer to fix it in a later commit -- there is no regression with respect to the past.
Note, too, that the version in RELENG_6 has various bugs including missing locks around the module release calls, mishandling of modules loaded by /boot/loader, and so on, so an MFC is absolutely necessary there. I was just postponing it until this cleanup to avoid doing things twice.
MFC after: 1 week
|
166625 |
10-Feb-2007 |
mlaier |
Fix small altq related copy and paste error.
|
166454 |
03-Feb-2007 |
kevlo |
ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again.
Approved by: imp, cognet
|
166414 |
02-Feb-2007 |
kevlo |
Remove a bogus i = 0
Approved by: cognet
|
166339 |
30-Jan-2007 |
kevlo |
Use our own timer that piggybacks on npe_tick() callout instead of if_watchdog/if_timer interface.
Approved by: sam, cognet
|
166248 |
26-Jan-2007 |
kevlo |
Fix comments.
Approved by: cognet
|
166064 |
17-Jan-2007 |
cognet |
Create bus dma tags for both the PCI bus and the IXP425 root bus. Set the PCI bus' one as the default one, and explicitely use the other one for non-PCI devices. This is needed because the PCI bus can only address 64MB of RAM, while some IXP425 boards have 128MB or more, and most of the PCI drivers do not bother providing the parent dma tag.
|
164970 |
07-Dec-2006 |
sam |
Handle a missing NPE firmware file better; if it's missing print a (somewhat) meaningful message and terminate the build. It'd be nice to print a proper URL from which to fetch the file but that seems problematic. Leave a suggested starting point in this file (TBD: add it to the man page).
Submitted by: ru
|
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.
|
164763 |
30-Nov-2006 |
kevlo |
Better i2c bit definitions.
Approved by: cognet
|
164508 |
22-Nov-2006 |
kevlo |
Bring in status led support for /dev/led/gpioled on Avila.
Approved by: cognet
|
164426 |
19-Nov-2006 |
sam |
Gateworks Avila board support: o ixp425 support o NPE network driver (requires Intel microcode) o h/w qmgr support o True IDE compact flash over expansion bus o pci (ath and hifn795x parts tested) o xscale watchdog timer o ds1672 RTC on i2c bus o ad7418 voltage + temp monitoring on i2c bus o uart
Work done together with cognet, kevlo, and jmg. Parts of the ixp425 support obtaine/derived from netbsd.
Reviewed by: cognet, imp MFC after: 1 month
|