135c37b83c81b79a888108e3f7c5f64423d8a851 |
|
14-Nov-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
bfin: switch to generic vfork, get rid of pointless wrappers Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
ee1e17c69eb3c843d283eb3fbed1616ed9a122eb |
|
13-Oct-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
blackfin: convert kernel_thread() and kernel_execve() to generic ones Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
c7e48e1e3e926de21605f959c31689d56fb639e3 |
|
23-Jul-2012 |
Sonic Zhang <sonic.zhang@analog.com> |
bfin: pm: add deepsleep for bf60x Add add deepsleep for bf60x. 1. Call DMC init functions to enter and exit DDR self refresh mode. 2. Wait till CGU PLL is locked after wake up and exit DDR self refresh mode. 3. Make asessembly function enter_deepsleep comply with C funtion ABI in order to call other C functions. 4. Switch kernel stack by register EX_SCRATCH_REG. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com>
|
6fd84c0831ec78d98736b76dc5e9b849f1dbfc9e |
|
23-May-2012 |
Al Viro <viro@zeniv.linux.org.uk> |
TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
080bb657eb0d02d0df73e62572eb814aebf66850 |
|
01-May-2012 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: delete fork func We don't implement fork() since we are no-mmu, so redirect it to the existing ENOSYS stub rather than adding a custom EINVAL one. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Bob Liu <lliubbo@gmail.com>
|
b5affb0147cee0ea05d909396f8e389092729236 |
|
16-May-2012 |
Bob Liu <lliubbo@gmail.com> |
blackfin: add bf60x to current framework This patch added bf60x to current blackfin kernel framework. Signed-off-by: Bob Liu <lliubbo@gmail.com>
|
ce6da7cd896b38a68ef0e93e2cdf46a2a7c3762b |
|
19-Feb-2012 |
Geert Uytterhoeven <geert@linux-m68k.org> |
Blackfin: s/#if CONFIG/#ifdef CONFIG/ Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Bob Liu <lliubbo@gmail.com>
|
dd47ba13786f22893d08747c152a2cf1435d0d8c |
|
29-Jan-2012 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: wire up new process_vm syscalls Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Bob Liu <lliubbo@gmail.com>
|
f5b940997397229975ea073679b03967932a541b |
|
27-Aug-2011 |
NeilBrown <neilb@suse.de> |
All Arch: remove linkage for sys_nfsservctl system call The nfsservctl system call is now gone, so we should remove all linkage for it. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
427472c967977256db42ffbf16f65f2770278b7f |
|
24-May-2011 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: wire up new sendmmsg syscall Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
7b21fddd087678a70ad64afc0f632e0f1071b092 |
|
28-May-2011 |
Eric W. Biederman <ebiederm@xmission.com> |
ns: Wire up the setns system call 32bit and 64bit on x86 are tested and working. The rest I have looked at closely and I can't find any problems. setns is an easy system call to wire up. It just takes two ints so I don't expect any weird architecture porting problems. While doing this I have noticed that we have some architectures that are very slow to get new system calls. cris seems to be the slowest where the last system calls wired up were preadv and pwritev. avr32 is weird in that recvmmsg was wired up but never declared in unistd.h. frv is behind with perf_event_open being the last syscall wired up. On h8300 the last system call wired up was epoll_wait. On m32r the last system call wired up was fallocate. mn10300 has recvmmsg as the last system call wired up. The rest seem to at least have syncfs wired up which was new in the 2.6.39. v2: Most of the architecture support added by Daniel Lezcano <dlezcano@fr.ibm.com> v3: ported to v2.6.36-rc4 by: Eric W. Biederman <ebiederm@xmission.com> v4: Moved wiring up of the system call to another patch v5: ported to v2.6.39-rc6 v6: rebased onto parisc-next and net-next to avoid syscall conflicts. v7: ported to Linus's latest post 2.6.39 tree. > arch/blackfin/include/asm/unistd.h | 3 ++- > arch/blackfin/mach-common/entry.S | 1 + Acked-by: Mike Frysinger <vapier@gentoo.org> Oh - ia64 wiring looks good. Acked-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
25985edcedea6396277003854657b5f3cb31a628 |
|
31-Mar-2011 |
Lucas De Marchi <lucas.demarchi@profusion.mobi> |
Fix common misspellings Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
|
4e3d96deff59d126cfa289645e136e295e65480f |
|
22-Mar-2011 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: wire up new syncfs syscall Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
a8d0142fb7e31a11919ef2d45d6f43e0f225f568 |
|
18-Mar-2011 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: wire up new syscalls Hook up name_to_handle_at, open_by_handle_at, and clock_adjtime. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
9169b51f8ce6cd11cd19913b54466ec11e6a12f9 |
|
17-Mar-2011 |
Philippe Gerum <rpm@xenomai.org> |
Blackfin/ipipe: fix deferred pipeline sync for the root stage This patch makes sure to sync the pipeline for the root stage only from the outer interrupt level, when resuming kernel code after an interrupt. This fixes a bug causing EVT15 to be spuriously popped off upon nested interrupts, which in turn would cause the preempted kernel code to resume without supervisor privileges. Signed-off-by: Philippe Gerum <rpm@xenomai.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
503f3d30c6f29c58fce77bfe47b04e3c667e7640 |
|
14-Nov-2010 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: fix building IPIPE code when XIP is enabled The low level assembly needs to use the pseudo_long_call helper so that we use the right call insn when doing kernel XIP. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
99a5b2878b56d24919eb7e646f2d8e02f63a6efc |
|
06-Sep-2010 |
Sonic Zhang <sonic.zhang@analog.com> |
Blackfin: add new cacheflush syscall Flushing caches sometimes requires anomaly workarounds which require supervisor-only insns. Normally we don't need to flush caches from userspace so this isn't a problem, but when gcc generates trampolines on the stack, we do. So add a new syscall for gcc to use modeled after the mips version. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
33ded95b1ca5ebd27a762cabaee63f50eb46dcd6 |
|
12-Aug-2010 |
Barry Song <barry.song@analog.com> |
Blackfin: initial preempt support while returning from interrupt Signed-off-by: Barry Song <barry.song@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
f3411b16c790e52b5abe174b33c7d213dbf5c259 |
|
18-Aug-2010 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: wire up new fanotify/prlimit64 syscalls Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
2943bff69e3728cfd69841537120125f9373bb28 |
|
25-Feb-2010 |
Robin Getz <robin.getz@analog.com> |
Blackfin: fix anomaly 283 handling with exact hardware error The exact hardware error handling code was added before the workaround for anomaly 283 which caused the anomaly to be triggered in some cases (an infinite core stall). So re-order the code to avoid this. Reported-by: Andrew Rook <andrew.rook@speakerbus.co.uk> Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
9e228ee9eae97b533d3b3133f76478c70dbd4294 |
|
12-Feb-2010 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: check for bad syscalls after tracing it We want to report all system calls (even invalid ones) to the tracing layers, so check the NR only after we've notified. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
600482c13d3d3612d71f39d8aaec47f63aafa801 |
|
17-Feb-2010 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: fix single stepping over system calls On Blackfin systems, the hardware single step exception triggers before the system call exception, so we need to save this info to process it later on. Otherwise, single stepping in userspace misses a few insns right after the system call. This is based a bit on the SuperH code added in commit 4b505db9c4c72dbd. Reported-by: Roland McGrath <roland@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
e8f263dfd32a784a816fe68956e564f8ede4a9fc |
|
26-Jan-2010 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: initial tracehook support Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
441504df6b81302c06010083c8d63b1465ead405 |
|
19-Jan-2010 |
Yi Li <yi.li@analog.com> |
Blackfin: add support for irqflags tracing Signed-off-by: Yi Li <yi.li@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
d86bfb1600db38e8387beee0aaab4263cfd728a2 |
|
07-Jan-2010 |
Barry Song <barry.song@analog.com> |
Blackfin: initial XIP support Signed-off-by: Barry Song <barry.song@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
360adee8a5c249f221de43d7d46073391359a4ba |
|
15-Dec-2009 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: wire up the various memory related syscalls These all just go to the stub syscall at the moment, so this is largely future proofing. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
d1be2e485bfb5e3ee3ef5d2131f0151f9a3c4387 |
|
08-Dec-2009 |
Barry Song <barry.song@analog.com> |
Blackfin: add support for TIF_NOTIFY_RESUME Signed-off-by: Barry Song <barry.song@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
f8b7256096a20436f6d0926747e3ac3d64c81d24 |
|
30-Nov-2009 |
Al Viro <viro@zeniv.linux.org.uk> |
Unify sys_mmap* New helper - sys_mmap_pgoff(); switch syscalls to using it. Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
dd17c8f72993f9461e9c19250e3f155d6d99df22 |
|
29-Oct-2009 |
Rusty Russell <rusty@rustcorp.com.au> |
percpu: remove per_cpu__ prefix. Now that the return from alloc_percpu is compatible with the address of per-cpu vars, it makes sense to hand around the address of per-cpu variables. To make this sane, we remove the per_cpu__ prefix we used created to stop people accidentally using these vars directly. Now we have sparse, we can use that (next patch). tj: * Updated to convert stuff which were missed by or added after the original patch. * Kill per_cpu_var() macro. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Tejun Heo <tj@kernel.org> Reviewed-by: Christoph Lameter <cl@linux-foundation.org>
|
a2e2725541fad72416326798c2d7fa4dafb7d337 |
|
13-Oct-2009 |
Arnaldo Carvalho de Melo <acme@redhat.com> |
net: Introduce recvmmsg socket syscall Meaning receive multiple messages, reducing the number of syscalls and net stack entry/exit operations. Next patches will introduce mechanisms where protocols that want to optimize this operation will provide an unlocked_recvmsg operation. This takes into account comments made by: . Paul Moore: sock_recvmsg is called only for the first datagram, sock_recvmsg_nosec is used for the rest. . Caitlin Bestler: recvmmsg now has a struct timespec timeout, that works in the same fashion as the ppoll one. If the underlying protocol returns a datagram with MSG_OOB set, this will make recvmmsg return right away with as many datagrams (+ the OOB one) it has received so far. . Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen datagrams and then recvmsg returns an error, recvmmsg will return the successfully received datagrams, store the error and return it in the next call. This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg, where we will be able to acquire the lock only at batch start and end, not at every underlying recvmsg call. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
96f1050d3df105c9ae6c6ac224f370199ea82fcd |
|
24-Sep-2009 |
Robin Getz <robin.getz@analog.com> |
Blackfin: mass clean up of copyright/licensing info Bill Gatliff & David Brownell pointed out we were missing some copyrights, and licensing terms in some of the files in ./arch/blackfin, so this fixes things, and cleans them up. It also removes: - verbose GPL text(refer to the top level ./COPYING file) - file names (you are looking at the file) - bug url (it's in the ./MAINTAINERS file) - "or later" on GPL-2, when we did not have that right It also allows some Blackfin-specific assembly files to be under a BSD like license (for people to use them outside of Linux). Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
cdd6c482c9ff9c55475ee7392ec8f672eddb7be6 |
|
21-Sep-2009 |
Ingo Molnar <mingo@elte.hu> |
perf: Do the big rename: Performance Counters -> Performance Events Bye-bye Performance Counters, welcome Performance Events! In the past few months the perfcounters subsystem has grown out its initial role of counting hardware events, and has become (and is becoming) a much broader generic event enumeration, reporting, logging, monitoring, analysis facility. Naming its core object 'perf_counter' and naming the subsystem 'perfcounters' has become more and more of a misnomer. With pending code like hw-breakpoints support the 'counter' name is less and less appropriate. All in one, we've decided to rename the subsystem to 'performance events' and to propagate this rename through all fields, variables and API names. (in an ABI compatible fashion) The word 'event' is also a bit shorter than 'counter' - which makes it slightly more convenient to write/handle as well. Thanks goes to Stephane Eranian who first observed this misnomer and suggested a rename. User-space tooling and ABI compatibility is not affected - this patch should be function-invariant. (Also, defconfigs were not touched to keep the size down.) This patch has been generated via the following script: FILES=$(find * -type f | grep -vE 'oprofile|[^K]config') sed -i \ -e 's/PERF_EVENT_/PERF_RECORD_/g' \ -e 's/PERF_COUNTER/PERF_EVENT/g' \ -e 's/perf_counter/perf_event/g' \ -e 's/nb_counters/nb_events/g' \ -e 's/swcounter/swevent/g' \ -e 's/tpcounter_event/tp_event/g' \ $FILES for N in $(find . -name perf_counter.[ch]); do M=$(echo $N | sed 's/perf_counter/perf_event/g') mv $N $M done FILES=$(find . -name perf_event.*) sed -i \ -e 's/COUNTER_MASK/REG_MASK/g' \ -e 's/COUNTER/EVENT/g' \ -e 's/\<event\>/event_id/g' \ -e 's/counter/event/g' \ -e 's/Counter/Event/g' \ $FILES ... to keep it as correct as possible. This script can also be used by anyone who has pending perfcounters patches - it converts a Linux kernel tree over to the new naming. We tried to time this change to the point in time where the amount of pending patches is the smallest: the end of the merge window. Namespace clashes were fixed up in a preparatory patch - and some stylistic fallout will be fixed up in a subsequent patch. ( NOTE: 'counters' are still the proper terminology when we deal with hardware registers - and these sed scripts are a bit over-eager in renaming them. I've undone some of that, but in case there's something left where 'counter' would be better than 'event' we can undo that on an individual basis instead of touching an otherwise nicely automated patch. ) Suggested-by: Stephane Eranian <eranian@google.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Paul Mackerras <paulus@samba.org> Reviewed-by: Arjan van de Ven <arjan@linux.intel.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: David Howells <dhowells@redhat.com> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: <linux-arch@vger.kernel.org> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
dedfd5d7f21b08d50ba8c0220778e119952e2f77 |
|
26-Aug-2009 |
Robin Getz <robin.getz@analog.com> |
Blackfin: workaround anomaly 05000283 Make sure our interrupt entry code with exact hardware errors handles anomaly 05000283 (infinite stall in system MMR kill) so we don't stall while under load. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
926494943b7d9dbc998adb298a92a708232ce46b |
|
17-Aug-2009 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: optimize fixed code handling for the most common case The majority of the time we are returning to user space, it is not in the fixed atomic code region. So rather than branch to a function where we check the PC and return, do the check inline and branch only when needed. Also, tweak some of the fixed code handling based on assumptions we are aware of but cannot be expressed in C. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
eb7bd9c461bbfbb195cb1e1346453222a4352df4 |
|
07-Aug-2009 |
Yi Li <yi.li@analog.com> |
Blackfin: cleanup sync handling when enabling/disabling cplbs The handling of updating the [DI]MEM_CONTROL MMRs does not follow proper sync procedures as laid out in the Blackfin programming manual. So rather than audit/fix every call location, create helper functions that do the right things in order to safely update these MMRs. Then convert all call sites to use these new helper functions. While we're fixing the code, drop the workaround for anomaly 05000125 as that anomaly applies to old versions of silicon that we do not support. Signed-off-by: Yi Li <yi.li@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
01b9f4b0ed3b1111b2080a3c9bcb66df1fdf48b7 |
|
22-Jul-2009 |
Graf Yang <graf.yang@analog.com> |
Blackfin: improve double fault debug handling Since the hardware only provides reporting for the last exception handled, and the values are valid only when executing the exception handler, we need to save the context for reporting at a later point. While we do this for one exception, it doesn't work properly when handling a second one as the original exception is clobbered by the double fault. So when double fault debugging is enabled, create a dedicated shadow of these values and save/restore out of there. Now the crash report properly displays the first exception as well as the second one. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
f4e129399c9ead8ec37910ce9793813698c2df51 |
|
22-Jun-2009 |
Philippe Gerum <rpm@xenomai.org> |
Blackfin: inline I-pipe bypass code in ret_from_exception Signed-off-by: Philippe Gerum <rpm@xenomai.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
9ea7770fdb0d6742d6a0aba62facda4b35356cf2 |
|
22-Jun-2009 |
Philippe Gerum <rpm@xenomai.org> |
Blackfin: sanitize manual control of IPEND[4] Cleanup is performed in two ways: - remove extraneous updates of IPEND[4] w/ CONFIG_IPIPE, and document remaining use. - substitute pop-reg-from-stack instructions with plain SP fixups in all save-RETI-then-discard patterns. Signed-off-by: Philippe Gerum <rpm@xenomai.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
9703a73c983edab860d6d145c87480440fc83348 |
|
22-Jun-2009 |
Philippe Gerum <rpm@xenomai.org> |
Blackfin: use generic name for EVT14 handler The purpose of the EVT14 handler may depend on whether CONFIG_IPIPE is enabled, albeit its implementation can be the same in both cases. When the interrupt pipeline is enabled, EVT14 can be used to raise the core priority level for the running code; when CONFIG_IPIPE is off, EVT14 can be used to lower this level before running softirq handlers. Rename evt14_softirq to evt_evt14 to pick an identifier that fits both, which allows to reuse the same vector setup code as well. Signed-off-by: Philippe Gerum <rpm@xenomai.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
ae4f073c40bf677b03826262e6022b4a251fe437 |
|
22-Jun-2009 |
Robin Getz <robin.getz@analog.com> |
Blackfin: make EVT3->EVT5 lowering more robust wrt IPEND[4] We handle many exceptions at EVT5 (hardware error level) so that we can catch exceptions in our exception handling code. Today - if the global interrupt enable bit (IPEND[4]) is set (interrupts disabled) our trap handling code goes into a infinite loop, since we need interrupts to be on to defer things to EVT5. Normal kernel code should not trigger this for any reason as IPEND[4] gets cleared early (when doing an interrupt context save) and the kernel stack there should be sane (or something much worse is happening in the system). But there have been a few times where this has happened, so this change makes sure we dump a proper crash message even when things have gone south. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
1997660cea28202ece0956cd44f332ac57700138 |
|
17-Jun-2009 |
Robin Getz <robin.getz@analog.com> |
Blackfin: cleanup code a bit with comments and defines Improve the assembly with a few explanatory comments and use symbolic defines rather than numeric values for bit positions. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
5ecf3e03cd513e8dba080d389b56bac11a2b0d8a |
|
20-Jun-2009 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: hook up new perf_counter_open syscall Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
61cdd7a28f8b515140cb5d8aea518678f0fae024 |
|
12-Jun-2009 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: hook up new rt_tgsigqueueinfo syscall Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
16aadcb680e188bd0a6d7b0ecd5d0ceabd4fba4d |
|
09-Jun-2009 |
Robin Getz <robin.getz@analog.com> |
Blackfin: only handle CPLB protection violations when MPU is enabled We don't need to handle CPLB protection violations unless we are running with the MPU on. Fix the entry code to call common trap_c, and remove the code which is never run. This allows the traps test suite to run on older boards with the MPU disabled. URL: http://blackfin.uclinux.org/gf/tracker/5129 Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
b9a3899d59c3f0fc074573f0eba2419b1e4c0bca |
|
18-May-2009 |
Robin Getz <robin.getz@analog.com> |
Blackfin: make deferred hardware errors more exact Hardware errors on the Blackfin architecture are queued by nature of the hardware design. Things that could generate a hardware level queue up at the system interface and might not process until much later, at which point the system would send a notification back to the core. As such, it is possible for user space code to do something that would trigger a hardware error, but have it delay long enough for the process context to switch. So when the hardware error does signal, we mistakenly evaluate it as a different process or as kernel context and panic (erp!). This makes it pretty difficult to find the offending context. But wait, there is good news somewhere. By forcing a SSYNC in the interrupt entry, we force all pending queues at the system level to be processed and all hardware errors to be signaled. Then we check the current interrupt state to see if the hardware error is now signaled. If so, we re-queue the current interrupt and return thus allowing the higher priority hardware error interrupt to process properly. Since we haven't done any other context processing yet, the right context will be selected and killed. There is still the possibility that the exact offending instruction will be unknown, but at least we'll have a much better idea of where to look. The downside of course is that this causes system-wide syncs at every interrupt point which results in significant performance degradation. Since this situation should not occur in any properly configured system (as hardware errors are triggered by things like bad pointers), make it a debug configuration option and disable it by default. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
f82e0a0c67621df83458753aef580a3508d5428e |
|
08-Apr-2009 |
Graf Yang <graf.yang@analog.com> |
Blackfin: fix link failure due to CONFIG_EXCEPTION_L1_SCRATCH Move exception stack mess from entry.S to init.c to fix link failure when CONFIG_EXCEPTION_L1_SCRATCH is in use. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
7a1450fdf4c69961f3926352fd8bc4ea19676756 |
|
26-May-2009 |
Mike Frysinger <vapier@gentoo.org> |
Blackfin: hook up preadv/pwritev syscalls Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
9bd50df6aa9bdd583793a16b0b9379dfd78c079e |
|
04-Mar-2009 |
Philippe Gerum <rpm@xenomai.org> |
Blackfin arch: Update adeos blackfin arch patch to 1.9-00 Signed-off-by: Philippe Gerum <rpm@xenomai.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
3aee91bafef01bd5c59853346f1fcb85f701fdc1 |
|
04-Feb-2009 |
Jie Zhang <jie.zhang@analog.com> |
Blackfin arch: fix 2 bugs related to debug - unable to single step over emuexcpt instruction - gdbproxy goes into infinite loop when doing gdb does "next" over "emuexcpt" Don't decrement PC after software breakpoint. Signed-off-by: Jie Zhang <jie.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
dbdf20db537a5369c65330f878ad4905020a8bfa |
|
07-Jan-2009 |
Bernd Schmidt <bernds_cb1@t-online.de> |
Blackfin arch: Faster C implementation of no-MPU CPLB handler This is a mixture ofcMichael McTernan's patch and the existing cplb-mpu code. We ditch the old cplb-nompu implementation, which is a good example of why a good algorithm in a HLL is preferrable to a bad algorithm written in assembly. Rather than try to construct a table of all posible CPLBs and search it, we just create a (smaller) table of memory regions and their attributes. Some of the data structures are now unified for both the mpu and nompu cases. A lot of needless complexity in cplbinit.c is removed. Further optimizations: * compile cplbmgr.c with a lot of -ffixed-reg options, and omit saving these registers on the stack when entering a CPLB exception. * lose cli/nop/nop/sti sequences for some workarounds - these don't * make sense in an exception context Additional code unification should be possible after this. [Mike Frysinger <vapier.adi@gmail.com>: - convert CPP if statements to C if statements - remove redundant statements - use a do...while loop rather than a for loop to get slightly better optimization and to avoid gcc "may be used uninitialized" warnings ... we know that the [id]cplb_nr_bounds variables will never be 0, so this is OK - the no-mpu code was the last user of MAX_MEM_SIZE and with that rewritten, we can punt it - add some BUG_ON() checks to make sure we dont overflow the small cplb_bounds array - add i/d cplb entries for the bootrom because there is functions/data in there we want to access - we do not need a NULL trailing entry as any time we access the bounds arrays, we use the nr_bounds variable ] Signed-off-by: Michael McTernan <mmcternan@airvana.com> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
4213cb64004e38b3e78424f30e1e638f8004c7a8 |
|
18-Nov-2008 |
Graf Yang <graf.yang@analog.com> |
Blackfin arch: fix bug - Turn on DEBUG_DOUBLEFAULT, booting SMP kernel crash Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
33c8691f45459a41864562ae8d1ec12b4503f200 |
|
18-Nov-2008 |
Mike Frysinger <vapier.adi@gmail.com> |
Blackfin arch: fix building with CONFIG_DEBUG_DOUBLEFAULT arch/blackfin/mach-common/entry.S:465: Error: pcrel too far BFD_RELOC_BFIN_10 Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
400597842452c02916a61a51f3154dd032c2d569 |
|
18-Nov-2008 |
Mike Frysinger <vapier.adi@gmail.com> |
Blackfin arch: rename irq_flags to bfin_irq_flags rename irq_flags to bfin_irq_flags to avoid namespace collision with common code Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
6b3087c64a92a36ae20d33479b4df6d7afc910d4 |
|
07-Jan-2009 |
Graf Yang <graf.yang@analog.com> |
Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code Blackfin dual core BF561 processor can support SMP like features. https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:smp-like In this patch, we provide SMP extend to Blackfin header files and machine common code Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
efe065a1b39974ff2bbb9aa693400f3de4ba5a6a |
|
28-Oct-2008 |
Graf Yang <graf.yang@analog.com> |
Blackfin arch: fix bug - kernel with SMP patch can not bootup The original code defined _exception_stack but not alloc space for the exception stack. In exception, this area is over written by exception stack. Common kernel luckly boot up, but SMP kernel stuck. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
6ad2b84cf014d91a9dffa3f8edb008430fbdb445 |
|
28-Oct-2008 |
Mike Frysinger <vapier.adi@gmail.com> |
Blackfin arch: add an option to allow people to stick exception stack into L1 scratch allow people to stick exception stack into L1 scratch and make sure it gets placed into .bss sections rather than .data Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
47664c1f86c833c4b6398885fdb2b80fc4945c6a |
|
09-Oct-2008 |
Mike Frysinger <vapier.adi@gmail.com> |
Blackfin arch: give sys_strace proper entry markings a global _sys_trace will cause the assembler to fail, it should be fixed in toolchain side firstly. Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
5e9e7687cbc016ac36b6825f79d78213319331d9 |
|
08-Oct-2008 |
Michael Hennerich <michael.hennerich@analog.com> |
Blackfin arch: Fix BUG -- BF533 + 0.5 silicon + MPU + UART PIO -> crash Apply ANOMALY_05000283 & ANOMALY_05000315 Workaround also to the EXCEPTION path. Cover evt_ivhw also with ANOMALY_05000315 The Workaround needs to be prior to accesses (either read or write) to any system MMR. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
a5ac0129249611fc4a35e6d7cd9b8462d67e5798 |
|
13-Oct-2008 |
Sonic Zhang <sonic.zhang@analog.com> |
Blackfin arch: add supporting for kgdb Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
0c7a6b2135c1bcb5139ca9ca87f292caafcb9410 |
|
08-Oct-2008 |
Robin Getz <rgetz@blackfin.uclinux.org> |
Blackfin arch: add supporting for double fault debug handling Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
639f6571458948b5112be2cf00c0c2c04db2897d |
|
27-Aug-2008 |
Bryan Wu <cooloney@kernel.org> |
Blackfin arch: move include/asm-blackfin header files to arch/blackfin Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
a4b7b6d7d3f4f71e741a878bcca6226d8d326a34 |
|
14-Aug-2008 |
Bryan Wu <cooloney@kernel.org> |
Blackfin arch: hook up some missing new system calls Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
d6a29891369827317659b7833170d2f5f0c7b97f |
|
05-Aug-2008 |
Sonic Zhang <sonic.zhang@analog.com> |
Blackfin arch: Fix bugs - Make kgdb code apparent to app debugging. - Skip single step if global interrupt disable bit is set. - Extend bernds' patch r4673 to skip single step in any interrupt entry that interrupts the code which is under single stepping. Bernds' patch only allow user space single stepping. Singed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
5400c5aa2de41501be7529831c9df36c729bf371 |
|
05-Aug-2008 |
Jie Zhang <jie.zhang@analog.com> |
Blackfin arch: Fix bug - This change eliminates impact on application debugging Signed-off-by: Jie Zhang <jie.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
0d1cdd7ab6e0e7ccaf9f3b1d2afa0ddeead23ccc |
|
26-Jul-2008 |
Sonic Zhang <sonic.zhang@analog.com> |
Blackfin arch: Fix bug - skip single step in high priority interrupt handler instead of disabling all interrupts in single step debugging. Skip single step if event priority of current instruction is higher than that of the first instruction, from which gdb starts single step. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
0893f1250f87e0a832f47bb60fb69ed0d52be7a3 |
|
07-May-2008 |
Bernd Schmidt <bernds_cb1@t-online.de> |
[Blackfin] arch: fix gdb testing regression When transferring to IRQ5 from an exception, save SYSCFG in memory across the transfer and clear the trace bit. When we get a single step exception, check whether we can safely clear the trace bit in SYSCFG. We can (and should) clear it after the first instruction of the interrupt handler; the first insn saves SYSCFG to the stack in all handlers. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
ddb3f00ca0897f585128a6cca229eeb9d91fa6ef |
|
07-May-2008 |
Bernd Schmidt <bernds_cb1@t-online.de> |
[Blackfin] arch: In the double fault handler, set up the PT_RETI slot In the double fault handler, set up the PT_RETI slot so that we print out the correct return address in the dumping code. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
2f775dbaa541d6bc0cccf20aab95f7a0930ef7e9 |
|
07-Mar-2008 |
Bryan Wu <cooloney@kernel.org> |
[Blackfin] arch: to kill syscalls missing warning by adding new timerfd syscalls Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
5d750b9e4f6ca7d366b4954517ff8be9ee07e1bf |
|
24-Apr-2008 |
Bernd Schmidt <bernds_cb1@t-online.de> |
[Blackfin] arch: Remove the circular buffering mechanism for exceptions Remove the circular buffering mechanism for exceptions. Instead, point RETX at a safe location from which to fetch three NOPs. This safe location is now in the fixed code area, and also used for certain anomaly workarounds, to ensure that user space can find a valid ICPLB when things are built with CONFIG_MPU. Also, save I/DCPLB_FAULT_ADDRESS when lowering to level 5, since the hardware reg is valid only at exception level. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
2a0c4fdb6602ea066380aaf71ff7bb2f61ffeee8 |
|
23-Apr-2008 |
Bernd Schmidt <bernds_cb1@t-online.de> |
[Blackfin] arch: fix bug - when using trace buffer with CONFIG_MPU enabled. There were a couple of problems with the way the trace buffer state is saved/restored in assembly. The DEBUG_HWTRACE_SAVE/RESTORE macros save a value to the stack, which is not immediately obvious; the CPLB exception code needed changes to load the correct value of the stack pointer. The other problem is that the SAVE/RESTORE macros weren't pushing and popping the value downwards on the stack, but rather moving it _upwards_, which is of course completely broken. We also need to make sure there's a matching DEBUG_HWTRACE_RESTORE in the error case of the CPLB handler. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
|
4d672e7ac79b5ec5cdc90e450823441e20464691 |
|
05-Feb-2008 |
Davide Libenzi <davidel@xmailserver.org> |
timerfd: new timerfd API This is the new timerfd API as it is implemented by the following patch: int timerfd_create(int clockid, int flags); int timerfd_settime(int ufd, int flags, const struct itimerspec *utmr, struct itimerspec *otmr); int timerfd_gettime(int ufd, struct itimerspec *otmr); The timerfd_create() API creates an un-programmed timerfd fd. The "clockid" parameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME. The timerfd_settime() API give new settings by the timerfd fd, by optionally retrieving the previous expiration time (in case the "otmr" parameter is not NULL). The time value specified in "utmr" is absolute, if the TFD_TIMER_ABSTIME bit is set in the "flags" parameter. Otherwise it's a relative time. The timerfd_gettime() API returns the next expiration time of the timer, or {0, 0} if the timerfd has not been set yet. Like the previous timerfd API implementation, read(2) and poll(2) are supported (with the same interface). Here's a simple test program I used to exercise the new timerfd APIs: http://www.xmailserver.org/timerfd-test2.c [akpm@linux-foundation.org: coding-style cleanups] [akpm@linux-foundation.org: fix ia64 build] [akpm@linux-foundation.org: fix m68k build] [akpm@linux-foundation.org: fix mips build] [akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds] [heiko.carstens@de.ibm.com: fix s390] [akpm@linux-foundation.org: fix powerpc build] [akpm@linux-foundation.org: fix sparc64 more] Signed-off-by: Davide Libenzi <davidel@xmailserver.org> Cc: Michael Kerrisk <mtk-manpages@gmx.net> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Davide Libenzi <davidel@xmailserver.org> Cc: Michael Kerrisk <mtk-manpages@gmx.net> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Michael Kerrisk <mtk.manpages@gmail.com> Cc: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
80f31c8a03d2f0644d0ceaf14e7e0108a007c962 |
|
02-Feb-2008 |
Mike Frysinger <vapier.adi@gmail.com> |
[Blackfin] arch: change the trace buffer control start/stop logic in the exception handlers To save/restore the trace buffer control so that if we take an exception after turning off the trace buffer at a higher level we dont inadvertently turn the trace buffer back on Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
9cb07b23dbc1c4c6ded49ba31d51b639a13970e3 |
|
21-Nov-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: use common __INIT/__FINIT defines rather than setting the .section ourselves to .init.text Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
0bad33d93af85a445adeedc19c363ef4e492ddd3 |
|
21-Nov-2007 |
Bernd Schmidt <bernd.schmidt@analog.com> |
Blackfin arch: Need to specify ax with the .init.text section, Need to specify "ax" with the .init.text section, otherwise the linker will make unique .init.text.1 .. .init.text.3 sections to cope with the flags
|
46c87c3ccec0d81a7b695fe9d5edc86a7e446962 |
|
21-Nov-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: Fix typo, and add ENDPROC - no functional changes Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
8d6c242062b90ce1b339e32a12fe183fe9612dcb |
|
21-Nov-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: rename _return_from_exception to _bfin_return_from_exception and export it Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
fc97551db9e4e9402ff2b5c94be8267b2e5f32f4 |
|
27-Jan-2008 |
Bernd Schmidt <bernd.schmidt@analog.com> |
[Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it. Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
b97b8a998397e8c64699559099fa9febffae2b4d |
|
27-Jan-2008 |
Bernd Schmidt <bernd.schmidt@analog.com> |
[Blackfin] arch: Initial checkin of the memory protection support. Enable it with CONFIG_MPU. Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
d5c4b5e3b2682a9aac07a43a8a79d3b692b22567 |
|
21-Dec-2007 |
Robin Getz <robin.getz@analog.com> |
[Blackfin] arch: Let the pre-processor do the math to save a few cycles - no functional changes Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
6f3ed704b03b2f9997b604690ac43a3514105a6a |
|
21-Dec-2007 |
Robin Getz <robin.getz@analog.com> |
[Blackfin] arch: do not use fixed numbers to describe offsets - no functional changes Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
f26fbc48f130962fce15f37d079968f0f272e0c2 |
|
12-Nov-2007 |
Robin Getz <robin.getz@analog.com> |
Blackfin arch: ensure we work around ANOMALY_05000261 for null pointers We currently do not. Also make it easier to handle cplb violations - in traps.c Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
9f336a53266f43ae1002f4aaad5373944589c828 |
|
29-Oct-2007 |
Robin Getz <robin.getz@analog.com> |
Blackfin arch: ensure that speculative loads of bad pointers don't cause us to do bad things. Fix/change formatting of a few more things. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
0b95f22bd3b91c7114c6892bbfbb5a8576b27fbe |
|
22-Sep-2007 |
Bryan Wu <bryan.wu@analog.com> |
Blackfin arch: add some missing syscall When compiling the Blackfin kernel, checksyscalls.pl will report lots of missing syscalls warnings. This patch will add some missing syscalls which make sense on Blackfin arch After appling this patch, toolchain should be rebuilt. Then recompiling the kernel with the new toolchain. Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
b3f8b9276314f4942ef9033aa5f4dc184901d640 |
|
10-Oct-2007 |
Robin Getz <robin.getz@analog.com> |
Blackfin arch: the load address is not safe to point to as a workaround for ANOMALY 05000281 Now that we have moved head.S into the init section, the load address is not safe to point to as a workaround for ANOMALY 05000281 Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
337d390b3a9c1ce92a12bdb77b9ae6ded6273b12 |
|
09-Oct-2007 |
Robin Getz <robin.getz@analog.com> |
Blackfin arch: Print out debug info, as early as possible Print out debug info, as early as possible - even before the kernel initializes the interrupt vectors. Now we can print out debug messages almost anytime during the boot process. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
2ebcade590dcf822dcdadcc4f8f68efd3ff2e217 |
|
09-Oct-2007 |
Robin Getz <robin.getz@analog.com> |
Blackfin arch: fix endless loop bug when a double fault happens Today when a double fault happens (exception during an exception handling event), we go into an endless loop, with nothing comming out the UART. With this patch, we actually see that we have commited a double fault event Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
1ffe6646babf8471714e649849ec2c9662bf410c |
|
05-Aug-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: add an exception request/free api add an exception request/free api similar to the interrupt request/fre api so people can utilize the free software based exceptions for their own purposes Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
f0b5d12f2b3226c85258519d7725e63d9daf5e90 |
|
05-Aug-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: allow people to select the feature that is unavailable to the kernel - allow people to select the feature that is unavailable to the kernel: NMI, JTAG, or CYCLES. - change default NMI handler to simply dump hardware trace buffer. - remove default NMI handler completely as calling into kernel code is not safe move example handler to wiki so people dont haphazardly copy and paste this stuff thinking its safe Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
518039bc24cbb9ce34665814fe120eac50bedd9a |
|
25-Jul-2007 |
Robin Getz <robin.getz@analog.com> |
Blackfin arch: Add ability to expend the hardware trace buffer Add ability to expend the hardware trace buffer via a configurable software buffer - so you can have lots of history when a crash occurs. The interesting way we do printk in the traps.c confusese the checking script Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
1aafd9091226a02b481298315f959f777294684e |
|
25-Jul-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: revise anomaly handling by basing things on the compiler not the kconfig defines revise anomaly handling by basing things on the compiler not the kconfig defines, so the header is stable and usable outside of the kernel. This also allows us to move some code from preprocessing to compiling (gcc culls dead code) which should help with code quality (readability, catch minor bugs, etc...). Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
9401e618c8f70920f34893946239e24d40a3519a |
|
12-Jul-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: scrub dead code we converted to using a system call for userspace spinlocks rather than a dedicated exception long ago Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
1f83b8f148a1eb967d2a628cbb741cd56fb54572 |
|
12-Jul-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: cleanup warnings from checkpatch -- no functional changes Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
669b792c77bbc30e9f4d9c95dbc918dc348c49c2 |
|
21-Jun-2007 |
Robin Getz <robin.getz@analog.com> |
Blackfin arch: Clean up trace buffer handling, No major functional changes. Turns on trace earlier, so crashes at kernel start should print out a trace, making things easier to debug. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
7adfb58fbd0a27469d26536f99b66391c4c8e2a0 |
|
21-Jun-2007 |
Bernd Schmidt <bernd.schmidt@analog.com> |
Blackfin arch: defines and provides entry points for certain user space functions at fixed addresses This patch defines (and provides) entry points for certain user space functions at fixed addresses. The Blackfin has no usable atomic instructions, but we can ensure that these code sequences appear atomic from a user space point of view by detecting when we're in the process of executing them during the interrupt handler return path. This allows much more efficient pthread lock implementations than the bfin_spinlock syscall we're currently using. Also provided is a small sys_rt_sigreturn stub which can be used by the signal handler setup code. The signal.c part will be committed separately. Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
51be24c351bc9ee4937121100adb098eeb1effdd |
|
11-Jun-2007 |
Mike Frysinger <michael.frysinger@analog.com> |
Blackfin arch: add proper ENDPROC() add proper ENDPROC() to close out assembly functions so size/type is set properly in the final ELF image Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
|
c824498db47285aeff430c007685a193b673c949 |
|
21-May-2007 |
Bernd Schmidt <bernd.schmidt@analog.com> |
Blackfin arch: fix signal handling bug There's a forum thread at https://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action=ForumBrowse&_forum_action=MessageReply&message_id=24741 which has a testcase involving signal handling that crashes quite readily. Inspecting the code I believe what happens is that signal handling can become confused when it is invoked on return from an interrupt, if the contents of P0 and R0 at the time of the interrupt happen to be such that P0 is larger than zero (indicating to the signal code that we're in a syscall), and R0 happens to have a value of something like -EINTR or -ERESTARTSYS. Fixed by setting orig_p0 to -1 if we're returning from an interrupt. The testcase now seems to run without problems. Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
8af10b79877ff5dfd5c7b1928d57cf38483e819d |
|
21-May-2007 |
Michael Hennerich <michael.hennerich@analog.com> |
Blackfin arch: Add Workaround for ANOMALY 05000257 Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
1394f03221790a988afc3e4b3cb79f2e477246a9 |
|
06-May-2007 |
Bryan Wu <bryan.wu@analog.com> |
blackfin architecture This adds support for the Analog Devices Blackfin processor architecture, and currently supports the BF533, BF532, BF531, BF537, BF536, BF534, and BF561 (Dual Core) devices, with a variety of development platforms including those avaliable from Analog Devices (BF533-EZKit, BF533-STAMP, BF537-STAMP, BF561-EZKIT), and Bluetechnix! Tinyboards. The Blackfin architecture was jointly developed by Intel and Analog Devices Inc. (ADI) as the Micro Signal Architecture (MSA) core and introduced it in December of 2000. Since then ADI has put this core into its Blackfin processor family of devices. The Blackfin core has the advantages of a clean, orthogonal,RISC-like microprocessor instruction set. It combines a dual-MAC (Multiply/Accumulate), state-of-the-art signal processing engine and single-instruction, multiple-data (SIMD) multimedia capabilities into a single instruction-set architecture. The Blackfin architecture, including the instruction set, is described by the ADSP-BF53x/BF56x Blackfin Processor Programming Reference http://blackfin.uclinux.org/gf/download/frsrelease/29/2549/Blackfin_PRM.pdf The Blackfin processor is already supported by major releases of gcc, and there are binary and source rpms/tarballs for many architectures at: http://blackfin.uclinux.org/gf/project/toolchain/frs There is complete documentation, including "getting started" guides available at: http://docs.blackfin.uclinux.org/ which provides links to the sources and patches you will need in order to set up a cross-compiling environment for bfin-linux-uclibc This patch, as well as the other patches (toolchain, distribution, uClibc) are actively supported by Analog Devices Inc, at: http://blackfin.uclinux.org/ We have tested this on LTP, and our test plan (including pass/fails) can be found at: http://docs.blackfin.uclinux.org/doku.php?id=testing_the_linux_kernel [m.kozlowski@tuxland.pl: balance parenthesis in blackfin header files] Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Aubrey Li <aubrey.li@analog.com> Signed-off-by: Jie Zhang <jie.zhang@analog.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|