Commit Graph

130034 Commits

Author SHA1 Message Date
rearnsha
29efdff284 Temporary hack to work around ld problems when linking Thumb
applications where the linker does not correctly insert an
interworking veneer.
2004-08-21 12:12:28 +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
3afb94d923 Mention libc and libpthread updates for ARM. 2004-08-21 11:37:32 +00:00
rearnsha
cd8021f51e Use RET macro for returning. 2004-08-21 11:31:44 +00:00
rearnsha
ed6e0e9e42 Use RET and RETc for returning. 2004-08-21 11:30:17 +00:00
rearnsha
145b31af81 Use RETc for returning. When v4T or later use BX for calling the target. 2004-08-21 11:29:51 +00:00
rearnsha
017d1fb251 Use RET and RETc for returning. 2004-08-21 11:25:17 +00:00
rearnsha
84104f4511 Use RET to return.
If ARMv5 or later then use CLZ rather than long-winded tale-lookup.
2004-08-21 11:24:28 +00:00
rearnsha
d4072e3a7c Always use bx for returning (this code is always ARMv5TE. 2004-08-21 11:22:33 +00:00
rearnsha
d6621260dc Use RET and RETc macros for returning. 2004-08-21 11:20:10 +00:00
rearnsha
85647ccc31 Use RET macro for returning from PSEUDO & PSEUDO_NOERROR 2004-08-21 11:18:40 +00:00
rearnsha
3fa803b523 Check the type of symbols; if it's a Thumb function, then set the Thumb
bit in the relocated value (JUMP_SLOT, ABS32 & GLOB_DAT).
2004-08-21 11:14:07 +00:00
hubertf
7d7af84e20 merge in data from htdocs/donations/200*.xml
XXX Would be nice to have this all in one place...
2004-08-21 11:12:04 +00:00
rearnsha
c3e148044f Use BX if available. 2004-08-21 11:12:03 +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
rearnsha
d2d54a40b5 Backport changes from the FSF development tree that ensure that code
build for ARM architecture 5 or later is always interworking clean.
2004-08-21 10:48:54 +00:00
hubertf
90fe9fb58c Better english (from soren), and mention DVD as an alternative to CD. 2004-08-21 10:37:29 +00:00
hubertf
32030de008 Language nits, by soren. 2004-08-21 10:31:16 +00:00
he
1e7492c638 Make this compile again by removing a now-unused local variable
and picking up cmd_iot from the new register struct instead of the
channel struct.
2004-08-21 10:09:21 +00:00
snj
a20a571a69 Fix some typos. 2004-08-21 05:22:47 +00:00
thorpej
09662eaa73 Register description for SATA port multipliers. 2004-08-21 02:25:26 +00:00
thorpej
5373bdd103 - Move to48() to atareg.h and rename it atacmd_to48().
- Add an atacmd_tosataq() that converts a 32-bit command to a Native
  SATA Queued command.
2004-08-21 02:17:07 +00:00
thorpej
218dbb60a6 Make some functions referenced only in wdc.c private to that file. 2004-08-21 01:51:46 +00:00
thorpej
8eaae3f96b Eliminate some gratuitous spl frobbing in atabus_thread(). 2004-08-21 00:48:32 +00:00
jdolecek
3f3fa2cf55 apparently boot-ps2 overflowed, so refer to boot-ps2-1.fs and boot-ps2-2.fs here 2004-08-21 00:36:29 +00:00
thorpej
335b799580 atastart() (called only at splbio(), and from interrupts) can change
drive_flags, to make sure all drive_flags manipulations are done at
splbio().
2004-08-21 00:28:34 +00:00
hubertf
b0d8762c07 * Mention language selection
* Remove mentions of old releases
 * More details how to drop into ddb
 * Try to mention booting from CD instead of floppies on i386
 * Mention mbrlabel(8) to get existing MBR partitions into a disklabel
 * Default disklabel name doesn't seem to be "mydisk" any longer
   (judging by this week's installation of 2.0_BETA/i386)
 * Mention that DHCP will be offered

Todo:
 * Enter size of extracted sets w/o X and of X sets (done for 2.0/i386)
   (Portmasters?)
2004-08-21 00:20:07 +00:00
thorpej
2aaf643e25 - atabus_detach(): Manipulate ch_flags at splbio().
- ata_reset_channel(): Assert that we're at splbio() when called.
- Sprinkle some comments about functions that must be called at splbio().
2004-08-20 23:50:13 +00:00
thorpej
4af8216045 WDC_DIAGNOSTIC -> ATA_DEBUG 2004-08-20 23:36:52 +00:00
thorpej
e975b9caee - Add an (*ata_reset_channel)() member to ata_bustype.
- Add an ata_reset_channel() function that performs the common parts
  of resetting an ATA channel, which uses the (*ata_reset_channel)()
  callback to do the heavy lifting.  Adjust callers to use ata_reset_channel()
  instead of wdc_reset_channel().

This removes the last wdc-specific code from ata.c!
2004-08-20 23:26:53 +00:00
hubertf
e09640d6eb * Some wording fixes, move some text where it belongs
* document what netbsd-GENERIC_DIAGNOSTIC is
 * i386: the X-server most likely wanted is XFree86
 * sparc* ship Xvfb in the xserver set, not Xprt
 * no split sets, not even on i386. For now(?)

Todo:
 * Where is the 2.0 amd64 snapshot on releng.netbsd.org ?!?
 * Portmasters, update your kernels and other MD stuff in here!
 * Set sizes need updating (automation?!? or remove them?)
2004-08-20 22:26:38 +00:00
thorpej
bd165f8e47 Use ANSI function decls for atabus open/close/ioctl. 2004-08-20 22:26:23 +00:00
thorpej
c5adb42199 wdcreg.h is not needed here any more. 2004-08-20 22:19:00 +00:00
thorpej
56e2a255b5 Move common parts of attaching an ata_channel to a new ata_channel_attach()
function.
2004-08-20 22:17:06 +00:00
thorpej
3234a02f48 Move atabusconfig() to ata.c. 2004-08-20 22:02:40 +00:00
nathanw
8b1b7c1c67 Check DDB before KGDB; if both are enabled, it's more useful to go to
DDB, because you can get to KGDB from there, but not the other way
around.
2004-08-20 21:38:35 +00:00
nathanw
584b896885 Nothing's wrong with having DDB and KGDB in the same kernel. 2004-08-20 21:33:57 +00:00
hubertf
ce610d90f3 CD-ROM -> CD-ROM / DVD
While there, capitalize list of install media (nfs->NFS, ...).
Tested on 2.0.
2004-08-20 21:23:08 +00:00
thorpej
51c34ebedf In ata_get_params(), use the (*ata_exec_command)() available from the
ata_bustype rather than using wdc_exec_command() directly.
2004-08-20 20:53:20 +00:00
hubertf
c83a5702e4 Remove documentation for updating - there's an own section for this (!?!) 2004-08-20 20:52:36 +00:00