Commit Graph

70480 Commits

Author SHA1 Message Date
jake
b0c5fb0be3 Use intr_disable/intr_restore instead of TLB_ATOMIC_START/END.
Submitted by:	tmm
2002-02-23 20:59:35 +00:00
jake
85b439b694 Use PCB_REG instead of loading the pcb from curthread. This fixes a bug
where %g6 could be inconsistent for 1 instruction.
2002-02-23 20:54:01 +00:00
jake
ed147b733c Adapt the tsb_foreach interface to take a source and a destination pmap so
that it can be used for pmap_copy.  Other consumers ignore the second pmap.
Add statistics gathering for tsb_foreach.
Implement pmap_copy.
2002-02-23 20:25:20 +00:00
jake
f7ad72d5e2 Add statistic gathering for various tsb operations.
Submitted by:	tmm
2002-02-23 20:11:11 +00:00
jake
dd884ba3a2 Remove debug code. 2002-02-23 20:08:06 +00:00
jake
2b394c872f Add statistic gathering for various pmap operations.
Submitted by:	tmm
2002-02-23 20:06:19 +00:00
jake
db96a614fe Remove CADDR1 and CADDR2 which are no longer used. On other architectures
these are used for copy and zeroing physical pages; we use physical addresses
directly.
2002-02-23 20:00:33 +00:00
jake
d715e97c9b Add macros to extract the UPA module id from the UPA config register.
This is the hardware cpuid.
2002-02-23 19:54:34 +00:00
deischen
af798d036c Sync this up to recent changes to our (userland) thread structure. 2002-02-23 19:28:01 +00:00
jake
e6a3a506a5 Add ifdefs for sparc64. 2002-02-23 19:05:26 +00:00
jake
9cdf1cce75 Fix wrong offsets. Add offsets for %fsr and %tstate.
Submitted by:	tmm
2002-02-23 19:01:22 +00:00
jake
a349eff875 Add space for %fsr and %tstate to utrapframe. Save them in the generic
user trap entry code.  Restore %asi and %ccr from the saved %tstate before
returning to the trapping user code.

Submitted by:	tmm
2002-02-23 19:00:30 +00:00
jake
3ed9f58376 1. Setup the user stack pointer before returning to a user trap handler.
If we don't do this here there's a 1 instruction race where an interrupt
   could come in and crash the user process due to having no stack.
2. Pass %fsr to the user trap handler in %l4.  Since %fsr can only be loaded
   from or stored to memory, we need to do some contortions and temporarily
   save it to the alternate global stack.
3. Reload the pcb and pcpu registers for traps in kernel mode, for sanity.

Submitted by:	tmm (1, 2)
2002-02-23 18:55:21 +00:00
jake
fc548e14d2 Include intr_machdep.h only for !LOCORE. 2002-02-23 18:41:34 +00:00
jake
81dc2952a8 Add needed include of ucontext.h. Fix braino setting curpcb. 2002-02-23 18:39:09 +00:00
jake
3ad7e30eb5 Add metadata types for dtlb and itlb data, and number of slots used. 2002-02-23 17:43:44 +00:00
bde
be1787bc6d Fixed some style bugs in revs 1.1 and 1.4. 2002-02-23 17:05:32 +00:00
iwasaki
80535be2ba Use the regular expression form to solve the ambiguous card parameters
which have tailing spaces.
Some card entries had problem because of incorrect number of spaces.

Approved by:	imp
MFC after:	1 week
2002-02-23 16:38:45 +00:00
cjc
6baa1f255a Long overdue whitespace cleanup. To give yourself an idea of how
ugly it was,

  $ awk '/[[:space:]]$/ { sub(/$/,"\$"); print; }' /etc/services

On the previous revision. And that's only the trailing whitespace.
2002-02-23 11:59:42 +00:00
tanimura
a09da29859 Lock struct pgrp, session and sigio.
New locks are:

- pgrpsess_lock which locks the whole pgrps and sessions,
- pg_mtx which protects the pgrp members, and
- s_mtx which protects the session members.

Please refer to sys/proc.h for the coverage of these locks.

Changes on the pgrp/session interface:

- pgfind() needs the pgrpsess_lock held.

- The caller of enterpgrp() is responsible to allocate a new pgrp and
  session.

- Call enterthispgrp() in order to enter an existing pgrp.

- pgsignal() requires a pgrp lock held.

Reviewed by:	jhb, alfred
Tested on:	cvsup.jp.FreeBSD.org
		(which is a quad-CPU machine running -current)
2002-02-23 11:12:57 +00:00
jake
33e8ee5265 Keep track of the ttes used to map the kernel and pass them to it as loader
metadata.  Modify tlb handling functions to take a tte, instead of virtual
address, physical address and flags.
2002-02-23 11:06:37 +00:00
billf
cb7151318e BDECFLAGS
Reviewed by:	md5(1)
2002-02-23 10:44:04 +00:00
billf
e5774765bd KNF -> ANSI function declarations
Reviewed by:	md5(1)
2002-02-23 10:35:25 +00:00
billf
1bc6f85fc6 KNF to ANSI function declaration, silence a warning 2002-02-23 10:21:19 +00:00
billf
a79402e12e warning fixes, mostly type matching 2002-02-23 09:59:45 +00:00
billf
d9e0760810 convert from KNR to ANSI function declarations
Reviewed by:	md5(1)
2002-02-23 09:53:27 +00:00
bmah
29314ff303 Grrr. Got the wrong date on the last ACPI update. Fix this before
someone else notices.
2002-02-23 06:00:56 +00:00
bmah
dc16f27c1c Updated release note: ACPI 20020207. While I'm here, correct an
awkward wording.
2002-02-23 05:58:52 +00:00
benno
b2f2771fbb Don't call critical_enter()/critical_exit() around calls to pmap_pvo_enter()
as it does it's own handling of critical sections.
2002-02-23 05:55:51 +00:00
msmith
9c77442559 AcpiOsPrintf and AcpiOsVprintf now return void. 2002-02-23 05:32:51 +00:00
msmith
298fdbbdac AcpiOsCallocate is no longer required. 2002-02-23 05:32:10 +00:00
msmith
2fc99bc1ee Match namespace cleanup changes in ACPI CA 20020217 update. 2002-02-23 05:31:38 +00:00
msmith
2192e34250 Add our own private defines for driver debug layers.
Obsolete the acpi_GetInto* interfaces.

Fix a typo to be less appropriate.
2002-02-23 05:30:54 +00:00
msmith
168360b0e8 Match namespace cleanup changes in ACPI CA 20020217 update.
Use ACPI_SUCCESS/ACPI_FAILURE consistently.
The AcpiGetInto* interfaces are obsoleted by ACPI_ALLOCATE_BUFFER.

Convert to using a kthread rather than timeout() to avoid problems
with the interpreter sleeping.
2002-02-23 05:29:23 +00:00
msmith
7347e2a6b0 Match namespace cleanup changes in ACPI CA 20020217 update.
Use ACPI_SUCCESS/ACPI_FAILURE consistently.
The AcpiGetInto* interfaces are obsoleted by ACPI_ALLOCATE_BUFFER.
2002-02-23 05:28:22 +00:00
msmith
e5a87e8216 Match namespace cleanup changes in ACPI CA 20020217 update.
Use ACPI_SUCCESS/ACPI_FAILURE consistently.
The AcpiGetInto* interfaces are obsoleted by ACPI_ALLOCATE_BUFFER.

Use _ADR as well as _BBN to get our bus number.
2002-02-23 05:27:49 +00:00
msmith
6e083f357a Match namespace cleanup changes in ACPI CA 20020217 update.
Use ACPI_SUCCESS/ACPI_FAILURE consistently.
2002-02-23 05:26:45 +00:00
msmith
40fae72f51 Match namespace cleanup changes in ACPI CA 20020217 update.
Use ACPI_SUCCESS/ACPI_FAILURE consistently.

The ACPI global lock acquire takes a timeout value.  I'm not sure what
we should do about timeouts on it; a deadlock against this lock is
catastrophic.
2002-02-23 05:26:31 +00:00
msmith
c669913895 Match namespace cleanup changes in ACPI CA 20020217 update.
Use ACPI_SUCCESS/ACPI_FAILURE consistently.
The AcpiGetInto* interfaces are obsoleted by ACPI_ALLOCATE_BUFFER.

Kill off the timeouts that used to read _BIF and _BST.  These are
invoked when the battery is actually read.  timeout() is dangerous
in combination with ACPI, as the interpreter can block.

This driver still needs more work.
2002-02-23 05:24:14 +00:00
msmith
4538ae7834 Match namespace cleanup changes in ACPI CA 20020217 update.
Use ACPI_SUCCESS/ACPI_FAILURE consistently.
The AcpiGetInto* interfaces are obsoleted by ACPI_ALLOCATE_BUFFER.

Add AcpiBatteryIsPresent helper to determine whether a battery device
is inserted.

Add ACPI_ALL_DRIVERS to the list of debug layers, now that we own the
namespace for this.

Pr:
2002-02-23 05:21:56 +00:00
msmith
82010cdc0f Resolve conflicts arising from the ACPI CA 20020217 import. 2002-02-23 05:16:34 +00:00
msmith
64989f50d8 This commit was generated by cvs2svn to compensate for changes in r91116,
which included commits to RCS files with non-trunk default branches.
2002-02-23 05:10:40 +00:00
msmith
b58b48bed8 Vendor import of the Intel ACPI CA 20020217 drop. 2002-02-23 05:10:40 +00:00
jake
7994a37bd4 Add -ffreestanding to CFLAGS. 2002-02-23 04:36:15 +00:00
jake
ce801add09 Add make variables for fs support and propagate them to CFLAGS. Put
-ffreestanding in CFLAGS.  Remove unnecessary LDFLAGS.
2002-02-23 04:35:28 +00:00
jake
8f643f6169 Fix test for != 0 that should be > 0. 2002-02-23 04:33:15 +00:00
jake
e187f56a06 Check the return values of index() and don't dereference it if its null;
the path may not have a ':' in it.  The mac address property is called
mac-address for sparc64.  Don't allocate a dma buffer for sparc64 either.
2002-02-23 04:31:30 +00:00
jake
c819020411 #if 0 more bootinfo stuff. 2002-02-23 04:13:02 +00:00
jake
c34e322792 Fix fs support ifdefs. Add tftp support. Add physical and virtual
watchpoint support for debugging (under LOADER_DEBUG).  Claim the
physical and virtual addresses used to map the kernel from the prom;
we map it ourselves behind the scenes though.  Add a reboot command.

Submitted by:	tmm
2002-02-23 04:04:30 +00:00
jake
9ee486a3f2 Allocate a frame on our initial stack so that it doesn't run off into
random memory.  Disable interrupts while loading the tlb.

Submitted by:	tmm
2002-02-23 03:38:18 +00:00