Commit Graph

83446 Commits

Author SHA1 Message Date
mhitch
4adefbd6e8 Uvm changes over 17 months ago resulted in the 68040/060 segment table
page being entered with pmap_kenter(), which does not record the mapping
in the pv table.  Attempting to inhibit caching of that page as required
by the 68060 hardware no longer changes the PTE and caused varying degrees
of multiple faulting, sometimes resulting in an unusable system.  Apparently
very few people attempted to run a 68060 based system since that change.
Fix to to change the caching bits directly rather than using pmap_changebit().
2006-09-14 01:27:59 +00:00
gdamore
29dad6a290 Converted x68k to todr. Compile tested only, but it has a low probably
of breaking anything.
2006-09-14 01:18:11 +00:00
gdamore
f2a34ea075 Convert sbmips to generic TODR. ok simonb@. 2006-09-14 00:03:45 +00:00
manu
717102f4bb Jumbo COMPAT_LINUX/COMPAT_LINUX32 bugfix, with the help of Nicolas Joly
- Fix shmat return value on amd64: it uses no black magic with retval[0]
- Fix integer overflows in sysinfo
- Implement sysinfo, mmap2, sched_getparam, sched_getscheduler, mremap,
  and madvise in COMPAT_LINUX32
- Fix improper types used in setgroups16/getgroups16
- Implement mmap2 for COMPAT_LINUX32
- Ifdef debug messages by DEBUG_LINUX
2006-09-13 19:55:49 +00:00
manu
99bb1b27be This file was not used anymore 2006-09-13 19:47:30 +00:00
spz
f3dd46346c change the variable name in the CSR_TRACE macro so it doesn't collide with
a previous definition of 's' (which makes gcc4 warn)
Reviewed by <is>.
2006-09-13 16:45:58 +00:00
spz
baf526d49e const'ify several char * to shut up gcc4 warnings
Reviewed by <is>
2006-09-13 16:43:51 +00:00
tsutsui
3a57046c1d Switch newsmips to timecounters. From gdamore@ on port-newsmips
with one tweak by me, and regressions passed on NWS-5000.
2006-09-13 14:50:42 +00:00
martin
2dce1200cc Avoid duplicate collon, from Stephan 'doomwarrior' in PR kern/34518 2006-09-13 14:45:24 +00:00
martin
c6f8d9e1e1 Avoid NULL deref (this is called with lwp=NULL from ppp interrupt context) 2006-09-13 13:28:22 +00:00
mrg
2102e18c4b SMP cleanup. provide support for multiple CPUs in DDB. (SMP itself
is still not working.)

cpu.h:
- add a pointer for DDB regs in SMP environment to struct cpu_info
- remove the #defines for mp_pause_cpus() and mp_resume_cpus()
cpuset.h:
- remove CPUSET_ALL() and rename CPUSET_ALL_BUT() to CPUSET_EXCEPT()
  from petrov.
db_machdep.h:
- rename the members of db_regs_t to be the same as sparc
- change "db_regs_t ddb_regs" to "db_regs_t *ddb_regp" and change
  all references to suit
- redo DDB_REGS to no longer be a pointer to a fixed data structure
  but to one allocated per-cpu when ddb is entered
- move a bunch of prototypes in here
intr.h:
- remove SPARC64_IPI_* macros, no longer used
db_interface.c:
- change "db_regs_t ddb_regs" to "db_regs_t *ddb_regp" and change
  all references to suit
- make "nil" a 64 bit entity
- change the ddb register access methods to work in multiprocessor
  environment, it is now very much like sparc does it
- in kdb_trap() avoid accessing ddb_regp when it is NULL
- update several messages to include the cpu number
- unpause other cpus much later when resuming from ddb
- rename db_lock() to db_lock_cmd(), as the sparc-like code has
  db_lock as a simple lock
- remove "mach cpus" command, and replace it with "mach cpu" (which
  does the same) and also implement "mach cpu N" to switch to
  another cpus saved trapframe
db_trace.c:
- update for the ddb_regs -> ddb_regp change
genassym.cf:
- add TF_KSTACK as offsetof(struct trapframe64, tf_kstack)
ipifuncs.c:
- overhaul extensively
- remove all normal interrupt handlers as IPI's, we now handle
  them all specially in locore.s:interrupt_vector
- add a simplelock around all ipi functions - it's not safe for
  multiple cpus to be sending IPI's to each other right now
- rename sparc64_ipi_pause() to sparc64_ipi_pause_thiscpu() and,
  if DDB is configured, enable it to save the passed-in trapframe
  to a db_regs_t for this cpu's saved DDB registers.
- remove the "ipimask" system (SPARC64_IPI_* macros) and instead
  pass functions directly
- in sparc64_send_ipi() always set the interrupt arguments to 0,
  the address and argument of the to be called function.  (the
  argument right now is the address of ipi_tlb_args variable, and
  part of the reason why only one CPU can send IPI's at a time.)
  don't wait forever for an IPI to complete.  some of this is
  from petrov.
- rename sparc64_ipi_{halt,pause,resume}_cpus() to
  mp_{halt,pause,resume}_cpus()
- new function mp_cpu_is_paused() used to avoid access missing
  saved DDB registers
- actually broadcast the flush in smp_tlb_flush_pte(),
  smp_tlb_flush_ctx() and smp_tlb_flush_all().  the other end may
  not do anything yet in the pte/ctx cases yet...
kgdb_machdep.c:
- rework for changed member names in db_regs_t.
locore.s:
- shave an instruction from syscall_setup() (set + ld -> sethi + ld)
- remove some old dead debug code
- add new sparc64_ipi_halt IPI entry point, it just calls the C
  vector to shutdown.
- add new sparc64_ipi_pause IPI entry point, which just traps into
  the debugger using the normal breakpoint trap.  these cpus usually
  lose the race in db_interface.c:db_suspend_others() and end up
  calling the C vector sparc64_ipi_pause_thiscpu().
- add #if 0'ed code to sparc64_ipi_flush_{pte,ctx}() IPI entry
  points to call the sp_ version of these functions.
- in rft_kernel (return from trap, kernel), check to see if the
  %tpc is at the sparc64_ipi_pause_trap_point and if so, call
  "done" not "retry"
- rework cpu_switch slightly:  save the passed-in lwp instead of
  using the one in curlwp
- in cpu_loadproc(), save the new lwp not the old lwp, to curlwp
- in cpu_initialize(), set %tl to zero as well.  from petrov.
- in cpu_exit(), fix a load register confusion.  from petrov.
- change some "set" in delay branch to "mov".
machdep.c:
- deal with function renames
pmap.c:
- remove a spurious space
trap.c:
- remove unused "trapstats" variable
- add cpu number to a couple of messages
2006-09-13 11:35:53 +00:00
elad
bada0c776a Don't use KAUTH_RESULT_* where it's not applicable.
Prompted by yamt@.
2006-09-13 10:07:42 +00:00
gdamore
cf407be292 Convert shark and ofppc to new common ofrtc and MI todr code. Tested
on shark.  Ok christos@, martin@.
2006-09-13 07:14:35 +00:00
gdamore
40774842f0 Convert shark to timecounters. Tested by numerous folks, ok christos@,
martin@.
2006-09-13 07:13:03 +00:00
uebayasi
30636ef7d5 Resolve conflict (extern struct devsw devsw[] vs. static struct devsw devsw[]). 2006-09-13 06:47:28 +00:00
gdamore
490f9510c6 Convert macppc to generic todr. ok macallan@. 2006-09-13 03:37:20 +00:00
dyoung
8a6588acaf In secmodel_bsd44_securelevel_system_cb(), compare dev_t dev with
NODEV, not 0, since 0 is a legit value for a dev_t.  Now I can
'mount /dev/wd0a /mnt' again.
2006-09-13 02:35:26 +00:00
christos
d5978e20f4 - use c99 initializers
- add missing initializer
2006-09-13 01:01:20 +00:00
christos
1ae1244b82 avoid empty if body. 2006-09-13 00:57:29 +00:00
christos
b4c0be5dc8 avoid empty if bodies. 2006-09-13 00:55:57 +00:00
christos
e15ade632a Avoid empty if. 2006-09-13 00:54:00 +00:00
christos
46c5717199 avoid empty if body. 2006-09-13 00:52:07 +00:00
christos
6a76f8e0d2 Avoid empty body in if 2006-09-13 00:51:12 +00:00
christos
193447d4bd avoid empty if 2006-09-13 00:49:07 +00:00
christos
71aa807296 use a c99 initializer 2006-09-13 00:48:03 +00:00
christos
86e2f3a519 add missing initializer 2006-09-13 00:47:03 +00:00
gdamore
747bc86364 Comment nit (remove first person), from simon@. 2006-09-12 21:38:55 +00:00
gdamore
ba5268f32b Centralize rtc_offset handling for ports that __HAVE_GENERIC_TODR and use
a simple second counter instead of the clock_ymdhms support.
2006-09-12 20:47:39 +00:00
plunky
ad28493ad1 guard against a possible situation where the list of l2cap channels is changed
when the bluetooth code is not expecting it to be. During a disconnect, we can
detach the channel that is being disconnected, but its not really safe to detach
any others.
2006-09-12 18:18:01 +00:00
gdamore
39d7c2b083 Convert sequoia led's to getmicrotime() instead
of a hard coded reference to time.  This is necessary to
support timecountering.  Tested by pooka@
2006-09-12 17:50:53 +00:00
gdamore
01beb29b30 ANSIfy & KNF. 2006-09-12 17:07:14 +00:00
gdamore
2a1a021930 Remove attempt to incorrectly support fictional double leap seconds.
While here, make the comparisions for hour, min, and sec use ">" consistently
like the date comparisions.
2006-09-12 15:25:05 +00:00
gdamore
73700aff66 Fix to compile on platforms without __HAVE_GENERIC_TODR. Sorry about
that.  Pointed out jdc@ and he@.
2006-09-12 14:27:17 +00:00
martin
9a3b57af3c We need to call setroot() even if we don't know about the boot device. 2006-09-12 09:51:38 +00:00
elad
de7ded0ba3 Fix typo. 2006-09-12 08:23:51 +00:00
elad
0e73c20464 Oops, add forgotten 'if'.
From Geoff Wing, thanks!
2006-09-12 07:51:29 +00:00
gdamore
58af66bd2c Add some optional debug (enabled with TODR_DEBUG) to see what your RTC
is giving you.  Also, while here, bump the threshold for "preposterous"
dates by 20 years.  Now any date earlier than late 1994 is considered
preposterous.
2006-09-12 05:47:47 +00:00
plunky
264c79359e Endian issues:
hci_event.c:
 - Convert memo->response.clock_offset to host-endian.

hci_ioctl.c:
 - printf format tweak (size_t)

hci_link.c:
 - Convert memo->response.clock_offset from host-endian.
 - Tweak a DIAGNOSTIC message.

l2cap_signal.c:
 - In l2cap_recv_config_req(), rp->scid is little-endian so make sure
   we convert from host-endian.

	from scw@
2006-09-11 22:12:39 +00:00
plunky
00d762682c hci_link.c:
- In hci_link_free(), do not unlink items from a LIST queue within
   a LIST_FOREACH() iterator.

rfcomm_session.c:
 - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST
   queue within a LIST_FOREACH() iterator.

	from scw@
2006-09-11 22:08:38 +00:00
plunky
4b5125cac5 btsco.c:
- sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t,
   not an int. So change sc_mtu's type to uint16_t.
 - Try a little harder to ensure btsco_round_blocksize() does not
   return zero. Prevents a subsequent panic in audio_init_ringbuffer().

	from scw@
2006-09-11 21:59:09 +00:00
rittera
26b97f3a17 Added innitialization to bs in ndis_getstate_80211. It was causing a compiler warning. Pointed out by Kulcsar Ferenc 2006-09-11 21:17:18 +00:00
gdamore
9a6f8be8b3 Don't bother checking wday, that breaks some clock chips. Thank to Kurt Schreiner <ks at ub dot uni-mainz dot de>. 2006-09-11 20:48:55 +00:00
reinoud
2b551264c1 Aparently i've misread, backing out change. 2006-09-11 19:43:55 +00:00
gdamore
f475d69b1b ANSIfy and KNF. 2006-09-11 19:14:57 +00:00
plunky
ed4d8d47a0 also include service name in dictionary being sent to kernel.
(this is not used just yet, but it might be in the future and it will
be easier if we dont have to provide code to handle its absence)
2006-09-11 18:30:27 +00:00
reinoud
5411355304 Don't add one to the capacity returned of READ CAPACITY! it results in
reporting a sd* disc that is one sector too big (!) Normally not much a
problem in FFS since its clustered but other filingsystems *do* care.
2006-09-11 17:57:07 +00:00
gdamore
dcc5a66350 Convert a2kbbc and a3kbbc to newer clock_ymdhms convenience routines in
kern_todr.
2006-09-11 17:18:00 +00:00
gdamore
6cfcc60e81 Convert netwinder and cats (and any other footbridge based system in the
future) to timecounters, using the dc21285_fclk.   ok nick@, chris@.
2006-09-11 15:18:23 +00:00
gdamore
4ee91c0828 Convert next68k to generic-todr and timecounter.
Tested by bouyer@.
2006-09-11 15:07:50 +00:00
nonaka
10179a2cac All supported model is PCLOCK == 33.33MHz 2006-09-11 13:54:14 +00:00