Commit Graph

560 Commits

Author SHA1 Message Date
fredette 53b83715c9 Now only define MACHINE_ARCH, _MACHINE_ARCH, and
MID_MACHINE if they haven't already been defined.
2001-05-03 20:59:55 +00:00
fredette 2b9b967cc2 Add a CPU_68010 macro. 2001-05-03 20:55:11 +00:00
fredette 166d9e1ede Add an EXTBL macro. 2001-05-03 20:53:44 +00:00
kleink fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
kleink 99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
kleink 9133b51cd8 Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
leo 3aabea5c70 Remove '_KERNEL' conditionalizing. This break userland apps.
Noted by Steve Allan.
2001-04-09 05:35:32 +00:00
tsutsui 06c28be1fe Install byte_swap.h on make includes. 2001-04-06 14:11:20 +00:00
is 3a27b85296 This only works with data registers. 2001-04-04 19:53:05 +00:00
leo a22b0cbf4d Optimize bswap16() and bswap32() functions to inline assembly. 2001-03-30 20:00:05 +00:00
fredette 3eb7866aaa Added support for the 68010 bus error frame. 2001-03-28 23:08:15 +00:00
is 8931aeb7a9 Don't use the frames' provided EA yet; something is wrong. 2001-03-01 22:01:52 +00:00
chs c5030d24f4 rename round() to fpu_round() to avoid a name conflict with
the "round" assembly function in FPSP when building with ELF.
2001-02-18 20:05:58 +00:00
chs 59674580ab missed an underscore in previous. 2001-02-07 23:30:27 +00:00
chs aaf5efe492 fix previous to work with a.out as well. 2001-02-07 06:13:21 +00:00
chs f889fd6ff9 remove signal trampoline stuff since it'll never be used in the kernel.
clean up the ELF support.
2001-02-05 12:37:33 +00:00
chs 5f244b1055 conditionalize the ddb hook on DDB && DEBUG_FPE rather than DDB && DEBUG,
since that's the condition under which we include the header file that
allows it to compile.
2001-02-05 12:35:13 +00:00
jmc ece49e13a9 Back out last change. m68k.h is now in cpu.h (which got updated in between
my noticing this problem here on a sun3).
2001-02-04 23:53:31 +00:00
jmc 36f1b05b1f Include m68k/m68k.h to pickup definition for fputype. 2001-02-04 10:13:08 +00:00
jdolecek d5d431e8ae make db_[e]regs[] const 2001-01-18 10:54:27 +00:00
scw 7aaf4adfb6 const'ify the 1st parameter of db_var_short() to account for the
recent "struct db_variable" change.
2001-01-18 09:49:02 +00:00
is b90c4c82d9 Make this actually sort-of-work for 68060 w. disabled FPU (tested), 68LC060,
and I suspect, 68LC040 and 68040V machines. Method used:

1. do NOT use the frames effective address at all
2. do NOT use the frames next instruction address, but
3. restore the "this instruction" pc into the pc field of the frame at the
   beginning of the emulation, if we got a frame format 4.

TODO:
A. find the bug in the usage of the frame EA, and revert to using it.
B. find the bug in the usage of the frames next instruction address, and
   consider whether it's worthwhile to use it.
C. make the emulation complete.... FEXP FETOM1, and the trigonometric functions
   are missing.
2001-01-05 19:54:30 +00:00
takemura c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
itojun efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
jdolecek e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
itojun 823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
scw 4350a7f2b7 Unification of the m68k syscall() function. 2000-12-19 21:09:54 +00:00
kleink 7ed30e9594 This code wasn't written in Utah or Berkeley. 2000-12-13 09:41:57 +00:00
scw b875ed466e Some micro-optimisations to _spl() and _splraise(), saving one instruction
in the former, and three to seven in the latter.
2000-12-11 20:05:33 +00:00
kleink 9cee15bd12 In the ELF toolchain, use __mcount instead of mcount. 2000-12-07 10:14:08 +00:00
is 7223efb0b9 Make this new-GAS ready. Code by Steve Woodford. 2000-12-06 21:31:05 +00:00
scw 71ca01981e Prepare for the m68k ELF transition:
o Add register prefixes for the benefit of gas.new
 o Wrap global symbols in the m68k/asm.h macros
 o Fix `#' comments so the source can be run through the C pre-processor
2000-11-30 21:00:51 +00:00
jdolecek c969c9196c make this usable also standalone 2000-11-26 12:02:16 +00:00
jdolecek 17a9fd0da5 split m68k SunOS and SVR4-specific sigcode.s code to sunos_sigcode.s
and svr4_sigcode.s respectively
adjust individual m68k port's locore.s to include new sigcode files if
appropriate
2000-11-26 11:47:23 +00:00
leo f4420dcb03 Revert previous change. I cannot see why this ever worked... Pointed out
by Steve Woodford.
2000-11-22 12:39:03 +00:00
leo c9b9b0253d %%<reg> -> %<reg> 2000-10-19 12:15:53 +00:00
is 4e2cf3688b fpu_emulate.h:
the fmovecr constant table has the internal format
  of the constants. So, when changing the mantissa size by a
  non-multiple of 32 bits, we'd have to change this table, too. As
  all other code changes just chopped of the least significand
  32bit word of the mantissa, we correct the mantissa size instead
  to (115 - 32 == 83) bits.
fpu_fmovecr.c:
  put a safety belt in, to catch the next person who doesn't know this.
fpu_int.c:
  in one place, the reduction of the mantissa size was overlooked.
fpu_log.c:
  as the most significand 32bit word of the mantissa was changed back to the
  old format, change back the table indexing code, too.

This should fix PR 11045.
2000-09-22 19:47:58 +00:00
minoura 575a64a7af Correct comments. 2000-09-19 03:17:59 +00:00
scw 0dc48bfa8f Add a `/t' modifier to the m68k ddb's `trace' command. This enables
one to perform a kernel traceback of any (non-swapped-out) process in
the system. For example, to show the traceback for PID 178:

  db> t/t 0t178
  trace: pid 178 at 0xabcd68
  _mi_switch(0x109f60) + 164
  ...
  db>
2000-08-10 08:02:35 +00:00
tshiozak 51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
itojun d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
mrg 28d898391b remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:10:45 +00:00
kleink bb2ed0f487 G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_. 2000-06-27 05:53:22 +00:00
kleink 47b5c5e3b1 Resolve some formatting nits; add __intptr_t and __uintptr_t. 2000-06-27 04:58:51 +00:00