Commit Graph

1464 Commits

Author SHA1 Message Date
thorpej 8fa139d957 Use the RET macro, rather than "bx lr" unconditionally. Makes this file
compile again for the INTEGRATOR configuration.
2004-08-23 20:53:56 +00:00
rearnsha d8574604b2 Support throwing signals to Thumb handlers. 2004-08-21 12:07:34 +00:00
rearnsha 9eb8699bc5 Don't fault if handed a Thumb address to disassemble. Simply print
out 'thumb insn' and punt.
2004-08-21 12:05:41 +00:00
rearnsha b88c8e79ee Add support for prefetch and data aborts in Thumb code. 2004-08-21 12:04:17 +00:00
rearnsha c8bb6ba9a9 Convert the coprocessor defines into an enum to avoid excessive
preprocessor hackery.  If supporting Thumb add an 18th undefined
handler for undefined instruction traps taken in Thumb state.  Kill
MAX_COPROCS and use NUM_UNKNOWN_HANDLERS instead.

Add support for breakpoints set in Thumb code and hand them off to
GDB as required.
2004-08-21 12:03:16 +00:00
rearnsha 6c37261ede Handle SWI's from Thumb code.
Note: this may need further work.  For the momement we unconditionally
convert a Thumb SWI insn into an ARM SWI with the operation code
zero-extended to 24 bits.  However, this should really be a property
of the emulation (how do we know that all emulated systems would want
to work this way?), but that would mean pushing all the handling down
into each of the emulators.
2004-08-21 11:57:36 +00:00
rearnsha 4cdf758fde Support Thumb applications 2004-08-21 11:52:25 +00:00
rearnsha b7bc9f654f Support upcalls and entry points that are in Thumb state. 2004-08-21 11:49:33 +00:00
rearnsha 66780d9b11 ARM10 is an architecture 5 device (not 4).
If supporting architecture 5, enable Thumb code support.

Note: we could probably enable this for 4T processors as well, but
getting interworking right is much more tricky.
2004-08-21 11:08:20 +00:00
rearnsha 3e067d0cbc Add a breakpoint instruction for Thumb. 2004-08-21 11:03:51 +00:00
rearnsha b9627c77bd Add STT_ARM_TFUNC (needed for the dynamic linker to handle Thumb
symbols).
2004-08-21 11:01:33 +00:00
rearnsha 0765a88c26 Define _ARM_ARCH_6, _ARM_ARCH_5 and _ARM_ARCH_4T, based on
architecture defines passed from the compiler.

Define RET and RETc macros for return and conditional return.  If BX is
available in the current instruction set then make use of it.

Note: these really are from the compiler's -march/-mcpu flags, not
from the kernel config, so they can be relied on in user space.
2004-08-21 10:59:41 +00:00
rearnsha a64bc9e882 Define THUMB_INSN_SIZE. 2004-08-21 10:53:36 +00:00
simonb 2fe6a47d97 Add dependancies on assym.h for some assembly files so that
"make -j <bignum>" works without having to do a "make depend" first.
2004-08-20 05:34:47 +00:00
rearnsha df8fa882b3 Add UVMHIST tracking for data and prefetch aborts. 2004-08-08 14:21:29 +00:00
rearnsha f506c2b14b Bah! Fix tyop CORE_UNKOWN_HANDLER -> CORE_UNKNOWN_HANDLER 2004-08-07 12:20:20 +00:00
rearnsha 2d02f2af34 Add SYSTEM_COPROC (cp15). 2004-08-07 12:05:54 +00:00
rearnsha 3de3493771 FP_COPROC* ->FPA_COPROC* 2004-08-07 12:02:36 +00:00
rearnsha 9264ede43d Changing the interrupt mask is a scheduling barrier. 2004-08-07 11:47:58 +00:00
rearnsha b0a3a4309a Don't overload the unknown instruction handling for the core onto CP0.
Instead, add a seventeenth 'co-processor' specifically for the core.
Add support for ARMv5 unknown instructions in the 'NV' space.
2004-08-07 11:45:41 +00:00
skrll debe5a31ce Include <sys/cdefs.h> once. 2004-08-06 14:39:18 +00:00
jdolecek cf701801a2 the ARMLinux ARM-specific range was moved to offset 0x180 in the NetBSD
syscall table (sync with rev. 1.7 of sys/compat/linux/arch/arm/syscalls.master)
2004-08-01 14:19:00 +00:00
drochner a5a5473c25 remove now unnecessary "pci_enumerate_bus" definitions 2004-07-29 16:55:25 +00:00
pk a7c40722d8 Call inittodr() from main(). Let file system code set the recorded `last
update' time (if any) through the new function setrootfstime().
2004-07-05 07:28:45 +00:00
bsh a3f45b38fe Implement software reset by means of watchdog timer. 2004-06-22 11:18:32 +00:00
thorpej 6862b70e43 Merge x86/bus_dma.c 1.11 by yamt:
Simplify bus_dma internal "load" functions by eliminating the "first"
variable, using seg == -1 instead.
2004-06-19 18:06:00 +00:00
kleink c004d32eb8 Reflect <sys/endian.h> rev. 1.4: make htonl() et al. arguments and
results uint{16,32}_t.  Noted by Ian Zagorskih.
2004-06-10 16:01:39 +00:00
nathanw 23ac7ba060 pxa2x0_bs_unmap(): KVA allocated in pxa2x0_bs_map() needs to be freed. 2004-06-07 19:45:22 +00:00
thorpej e33c2bb5d5 Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
2004-06-04 04:45:49 +00:00
thorpej 896bc924e1 Supply rr_1 and wr_1. 2004-05-17 22:00:47 +00:00
wiz 1249084227 "panicking" needs a k. 2004-05-16 15:44:10 +00:00
drochner 19f047f8d0 SIGTRAMP_VALID() should not pollute the user namespace 2004-05-10 21:51:49 +00:00
kleink 7b3b647647 Factor out W{CHAR,INT}_{MAX,MIN} into their own header file. 2004-05-08 21:51:47 +00:00
thorpej ba494aaa83 COM_PXA2X0 is now defflag'd in sys/conf/files 2004-05-01 19:09:14 +00:00
scw 9950f14938 Always disable interrupts at the start of DO_AST_AND_RESTORE_ALIGNMENT_FAULTS.
This addresses #2 of port-arm/23581 by Richard Earnshaw.

Many thanks to Richard for spotting the cause of this problem.
2004-04-27 07:13:16 +00:00
kleink 0e5d242328 Update for new pci_devinfo(9) signature. 2004-04-24 15:49:00 +00:00
bsh 018ab5b974 distinguish PXA255/26x from PXA2[15]0 in CPU attach message 2004-04-14 04:01:49 +00:00
bsh 4f5b0f1294 add CPU ID for Bulverde 2004-04-13 19:14:34 +00:00
bsh 34d29162ae fake that the PS/2 kbd/mouse controller of SA-1111 has two slots.
This is necessary to attach a pms driver to sackbc.
2004-04-06 01:32:17 +00:00
bsh 9a78d53bf0 whitespace nits. 2004-04-06 01:16:34 +00:00
bsh 1a02d3b6e1 pmap_pte_init_arm9() is necessary only when defined(CPU_ARM9) and defined(ARM9_CACHE_WRITE_THROUGH) 2004-04-03 04:35:48 +00:00
bsh 16cf047697 add an option to force ARM9 dcache to write-through mode. 2004-04-03 04:34:40 +00:00
drochner c83eb997b8 nothing cares about __HAVE_SIGINFO anymore, so nuke it 2004-03-26 21:39:57 +00:00
drochner ae94c80224 fix references to the syscall formerly known as SYS___sigreturn14 2004-03-26 19:05:33 +00:00
drochner cf8b697c65 remove license clauses 3 and 4 from my cpoyright notices 2004-03-24 17:06:57 +00:00
ws 0d0b70f9e6 Fix Frank Lancaster's long standing broken license (after consulting with him). 2004-03-24 16:39:53 +00:00
ws fc20faec01 Fix Frank Lancaster's broken license (after consulting with him).
Pointed out by wiz.
2004-03-24 16:39:52 +00:00
atatat 19af35fd0d Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
2004-03-24 15:34:46 +00:00
cl ea5ec0212d add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP
2004-03-14 01:08:47 +00:00
bjh21 e4247411fe Rename wsqms(4) to qms(4), since the "ws" is redundant now. While I'm here,
bundle it all into a single file, qms.c, replacing wsqms.c, wsqms_iomd.c,
and wsqmsvar.h.
2004-03-13 19:27:40 +00:00