Commit Graph

61134 Commits

Author SHA1 Message Date
pk
dab556c2b1 pmap_deactivate(): arguments for sp_tlb_flush() were reversed. 2003-01-12 00:34:52 +00:00
christos
d33a7d6abc add apple_bootzeroblock 2003-01-11 19:14:18 +00:00
christos
a7ca1a461f protect against multiple inclusion. 2003-01-11 18:54:19 +00:00
tsutsui
9a5dedeaea Fix -Wsign-compare and -Wuninitialized warnings. 2003-01-11 16:01:49 +00:00
tsutsui
5db9bf0614 Fix -Wsign-compare warnings. 2003-01-11 16:00:48 +00:00
aymeric
04afe0c722 Change the bootstrap procedure to avoid temporarily mapping physical memory.
Now, on the Amiga, we copy a small piece of code to chip memory and enable the
MMU from here.
On the DraCo, we setup %itt0 so that we shadow physical memory without
touching the page tables and very temporarily. The DraCo's memory layout
guarantees that there is no overlap in this case between physical and
virtual addresses.

This fixes a bug where Amiga's with physical memory at 0x200000 wouldn't boot
kernels >2M in size, and possibly other corner cases.

Joint work with Ilpo Ruotsalainen and Ignatios Souvatzis.
2003-01-11 10:47:08 +00:00
dsainty
e648b82855 Changed the interface for passing output data between the bthci driver
and the back end Bluetooth device driver.  The device driver now
allocates a suitable buffer on behalf of the bthci driver, and bthci
fills the buffer before despatch.

This saves an ugly temporary allocation (in bthci) and memory copy (in
the USB driver) per write, and also works better with the
sockets-based interface I'm experimenting with.
2003-01-11 06:12:09 +00:00
dsainty
48dd536ca4 Add bthci_util.c 2003-01-11 05:46:11 +00:00
dsainty
23127acc05 Bluetooth HCI protocol constants 2003-01-11 05:44:08 +00:00
dsainty
ba8e090575 Utilities for use with Bluetooth drivers 2003-01-11 05:41:57 +00:00
mrg
90d9434890 keep track of which cpu's have run a pmap and only broadcast tlb flushes to
cpu's who have done so.  implement pmap_deactivate() for MULTIPROCESSOR and
call it from cpu_switch() when we are about to switch proces and when we
enter idle().

with this change, i see significantly reduced tlb IPI traffic and fork/exec
bound processes -- such as "configure" -- run significantly faster, upto
15%.  i also obvserved a small (0-2%) benefit to CPU bound tasks as well.
2003-01-11 03:40:31 +00:00
rafal
30d29f647c Simplify CRIME rev. calculation (we don't appear to need the low nibble). 2003-01-10 20:39:22 +00:00
mrg
e756303d08 expand db_proc_cmd() a little more. 2003-01-10 19:25:12 +00:00
augustss
fef43d3aa9 Regen. 2003-01-10 16:42:04 +00:00
augustss
205035d2fa Add two Intel PCI-PCI bridges. 2003-01-10 16:41:39 +00:00
pk
30cc38bdb5 Replace want_resched' and want_ast' globals by per-CPU variables. 2003-01-10 16:34:14 +00:00
augustss
fc3c2cbc33 Make SYMTAB_SPACE actually work. 2003-01-10 16:18:45 +00:00
fvdl
9cf4ee5aef Move the check if ioapics were found outside of ifdef MPBIOS. Set the
polarity for the default ISA entries to 'default'.
2003-01-10 15:01:09 +00:00
fvdl
599d302034 If the polarity wasn't set in the mp config entry associated with the
ioapic pin, assume defaults (active low for level triggered, high
for edge triggered).
2003-01-10 14:58:46 +00:00
augustss
a9dbc85017 Try to get full device descriptor a few times. This makes some slow
devices work.  From FreeBSD.
2003-01-10 11:19:13 +00:00
augustss
89b8fd8b00 Regen. 2003-01-10 11:13:51 +00:00
augustss
7d481b8bc1 Add Epson 1660. From kerm/19767, Neil Short. 2003-01-10 11:06:58 +00:00
augustss
cd3665ed2a Add Epson 1660. From kern/19767. 2003-01-10 11:06:13 +00:00
rafal
5c114e8d30 Get rid of some extraneous declarations/comments. 2003-01-10 03:48:40 +00:00
rafal
0cc0813590 Add the MIPS3_CONFIG_SE (name taken from Rm52xx manual) bit, which is the
external cache enable bit -- this allows software to enable or disable the
(external) L2 cache on the R5k and Rm527x and the (external) L3 cache on
the Rm7k.  If the (external) cache is disabled, treat it as if there were
no cache for the purposes of the cache setup code.

Also, update sgimips code to use the new name.
2003-01-10 03:22:48 +00:00
mjl
f8a4b3b1a8 Make this work on big endian platforms (mostly from OpenBSD):
Uploaded scripts work better if they are little endian, as the
card's engine expects, so convert to le first.

Also clean up attach routine a bit (use pa_id and PCI_REVISION
instead of fetching it ourselves).

This makes the driver work on my macppc G4, it can decode and
display video and tuner input. Sound does not seem to work, but
this may be my wonky formac bktr-for-macintosh card.
2003-01-10 01:38:52 +00:00
mjl
d5afd1c04f Add major for bktr. 2003-01-10 01:32:55 +00:00
gehenna
aab035b2c2 Add quirk for NeoDio ND3050. 2003-01-10 00:52:13 +00:00
gehenna
cea6e962cb Regen. 2003-01-10 00:50:55 +00:00
gehenna
c77255a12b Add NeoDio A 6-in-1 Flash Device Controller with USB Interface. 2003-01-10 00:50:00 +00:00
fvdl
3cef21b0f5 Pass acpi_softc down to mpacpi functions. 2003-01-10 00:45:52 +00:00
fvdl
14cc29cd5d Don't make assumptions about PCI bus numbers, carefully find all of
them before setting up the interrupt routing tables. This still
assumes that all bus numbers have been configured before this
is called.
2003-01-10 00:44:23 +00:00
thorpej
b346ea724a Merge sparc and sparc64 <machine/signal.h>. 2003-01-09 23:25:24 +00:00
thorpej
a5fa1cfd6a Use PRIx64 to get the correct format for 64-bit hex numbers. Don't
need \n at the end of a panic().
2003-01-09 19:16:30 +00:00
lonewolf
b223c57195 Don't scale file block numbers. Fixes mmap() and UBCified read() problems.
Reviewed by Ignatios.
2003-01-09 18:34:41 +00:00
mrg
70628f1993 clean up db_proc_cmd() output slightly. 2003-01-09 18:00:51 +00:00
pk
18c8de0d93 It's now required to turn off traps in the srmmu cache flush ops in
non-MULTIPROCESSOR kernels too.
2003-01-09 12:29:52 +00:00
pk
d15d3cbfc0 Add two disks capable of doing synchronous transfer mode, but don't
report SCSI2: "MICROP 1924" and "FUJITSU M2266"
2003-01-09 12:25:00 +00:00
jdolecek
98449270da need to select proper IST for interrupt - IST_NONE is almost certainly not
right

this makes fdc@acpi and com@acpi actually work on my machine; lpt@acpi
change untested, but should be same as fdc and com
2003-01-09 12:23:28 +00:00
jdolecek
dca94cc235 _FDE is optional, so don't print warning messages about it failing
unless ACPI_FDC_DEBUG
array returned from _FDE contains UINT32 values, not UINT8; also change
  the magic number '14' to '5 * sizeof(UINT32)' for clarity
remove XXX for the tape presence comment; it's Just Okay to not use the info
fdc_acpi_getknownfds(): if fdc_acpi_nvtotype() returns NULL, don't
  attempt to attach the drive at all

XXX not tested
2003-01-09 12:18:38 +00:00
jdolecek
b47e7ca732 use AcpiUtGetTypeName() to print object type name in acpi_print() 2003-01-09 10:35:29 +00:00
pk
cbc8b8122d Check for existing soft interrupts too before trying to install a fast
interrupt handler.
2003-01-09 10:27:24 +00:00
dyoung
d2e09bb4b6 Oops. This turns off debugging again. 2003-01-09 08:52:19 +00:00
dyoung
c4780f2706 wi_start: write an mbuf chain to the driver using wi_mwrite_bap,
which is safer than the loop there used to be here.

wi_mwrite_bap: if wi_write_bap fails, don't keep on going: this
  way you avoid writing garbage to the radio. First time you see
  an odd-length mbuf, copy the remainder of the chain to sc_txbuf
  and from there to the MAC. This way, you do not read an mbuf past
  the end of its data (occasionally you will cross a page doing
  that!) and you avoid expensive, excess seeks in the radio's own
  buffer chain.

wi_rx_intr: clamp the frame length told to us by the driver to the
  most bytes we can fit in our mbuf cluster.

I am still getting e-mails from my testers telling me how much
better this makes things.
2003-01-09 08:49:39 +00:00
mrg
ec9ebd1af6 - s/xpmsg11/xpmsg15/
- clean up
- no need to reset the msg.tag
2003-01-09 05:55:30 +00:00
mrg
7386726570 remove a line accidentally commited in previous. 2003-01-09 05:27:09 +00:00
mrg
9b0c7030f5 call splclock() around the FPU_LOCK().
XXX: pk suggests we can make the this a sleeping lock.
2003-01-09 04:58:58 +00:00
jmcneill
41e9687a33 A few fallbacks:
1. If _FDE fails, fall-back to the old-style of drive probing.
  2. If _FDI fails on a drive, assume a 1.44MB 3.5" floppy drive.
2003-01-09 01:25:13 +00:00
jmcneill
de1dbc74c4 Enumerate floppy disk drives via ACPI (mmm, faster booting). Known to work
with one floppy drive; not quite sure if the logic handling _FDI is right.
2003-01-09 00:22:39 +00:00
jmcneill
5df8dc3180 Support for 'plug and play' of floppy drives, to be used soon by the
ACPI fdc attachment. Reviewed by fvdl.
2003-01-08 23:51:11 +00:00
soren
4a7a63dba9 URL for devids.txt moved. 2003-01-08 23:50:23 +00:00
aymeric
b2618dcbd8 initialize the dv_unit field of our fake device structure to 0, as done on x68k.
This fixes the problem where no grf* console would be found on startup because
they wouldn't match with any parent.
While here, memset() that structure to zero so that we either pass or crash
right away if the MI code changes again. From Leo Weppelman, as done on atari.
2003-01-08 23:41:03 +00:00
pk
f234ea91a2 Remove write_user_windows() from a number of `4m' functions, since we don't
switch contexts with traps enabled anymore.
2003-01-08 18:46:28 +00:00
pk
f63279a9b6 Add CPUINFO_WANT_RESCHED and CPUINFO_WANT_AST 2003-01-08 17:49:39 +00:00
oki
1b09272dff Use text size in COFF header instead of size of section header
marked as COFF_STYP_TEXT.
2003-01-08 17:43:51 +00:00
pk
87e0907cbb Avoid external declaration for the dummy `ross_pend' variable. 2003-01-08 17:22:09 +00:00
pk
127392a5b7 Prepare for per-CPU reschedule and AST requests. 2003-01-08 17:19:53 +00:00
yamt
5f254d46cc backout wrong assertions that i added. 2003-01-08 17:16:52 +00:00
yamt
99d625b53c for lfs_remove/lfs_rmdir, keep removed vnodes marked VDIROP.
(backout parts of rev.1.40)
otherwise, directory structures can be corrupted because checkpoints can
occur via eg. lfs_vflush before parent directory is written.
2003-01-08 17:14:58 +00:00
fvdl
9f4eb04ccb Print some OEM version info for the R/XSDT. Can be used to help identify
buggy ACPI implementations.
2003-01-08 16:52:49 +00:00
pk
d3db019efd Make pv_uncache() and pv_cacheflush() static functions.
Split pv_cacheflush() in sun4/sun4c and sun4m/sun4d versions.
2003-01-08 16:16:46 +00:00
reinoud
4a291c5614 Fixup serious loading problems (together with the former commit of start.S)
major code cleanup esp. types used. Also cleanup up a major BUG that for
some odd reason worked :-/ makes me puzzled. It signifies that there might
be copies around in physical space of the DRAM ??? and thus its function
was motherboard dependent? It must have been old cruft from before the
cleanup of the relocation engine.
2003-01-08 16:10:53 +00:00
yamt
69f1c0cb29 in set_dirop/endop, use normal vref/vrele instead of lfs versions
so that we don't miss lfs_inactivate.
2003-01-08 15:43:29 +00:00
yamt
ee36fccabb add assertions. 2003-01-08 15:40:54 +00:00
yamt
49d2b56b43 use lfs_unmark_vnode instead of duplicated code fragments. 2003-01-08 15:40:04 +00:00
reinoud
34ce26d1fc From the comment :
/*
 * The size of the code/data to be moved is not `end - rmbase' but
 * `__bss_start__ - rmbase' for the module is loaded into RISC OS
 * based on the filesize where as NetBSD doesn't have to include all
 * the bss space into the file itself. In some odd cases the
 * relocatable module area can be smaller than the module + bss and
 * thus bomb out.
 */
2003-01-08 15:29:09 +00:00
tron
5543f31d4d Fix indendation problem in entry for "pckbc* at acpi?". 2003-01-08 13:41:17 +00:00
fvdl
864739bdee DUMMY_NOPS is gone, replace it with an inverted, less confusing option:
PIC_DELAY. To be used on very old machines.
2003-01-08 13:20:26 +00:00
fvdl
524c804fc9 Define ACPI_MADT_DEBUG externally. 2003-01-08 12:33:03 +00:00
oki
31789669fa Use uprintf for debug print. 2003-01-08 12:29:44 +00:00
msaitoh
f0f871744a remove cinit()
This functions is completely null, not called from anywhere and
defined since rev. 1.1 (July 1993).
2003-01-08 12:00:25 +00:00
itojun
177ed24b8b allocate route_in6 in struct secashead, to avoid mistakenly overrun
the end of secashead.  Fixes PR18751.
2003-01-08 05:46:49 +00:00
pk
f4018cde22 Initialise the secondary CPUs' `spc_runtime'. 2003-01-08 01:20:56 +00:00
simonb
61593bd957 Fix a tyop and some grammar. 2003-01-08 00:41:41 +00:00
simonb
775343ebae Fix a tyop. 2003-01-08 00:39:44 +00:00
thorpej
21c24b2090 Use the MI setrunqueue()/remrunqueue(). 2003-01-08 00:00:03 +00:00
fvdl
422f1b7f01 Deal correctly with an MADT that is not found, or was already found
in acpi_madt_{un}map.
2003-01-07 23:05:08 +00:00
fvdl
c873a9a9a1 Remove leftover debug "mp_verbose = 1" assignment. 2003-01-07 21:11:10 +00:00
martin
9da7636a93 Add SUN4U magic to make nell work without things like WI_AT_BIGENDIAN_HACK.
XXX - need to move this (as well as the equivalent sparc stuff added
recently) outa here into sbus_machdep or something. We should not need
to know details of the actual bus_space implementation here.
2003-01-07 20:39:19 +00:00
fvdl
013008be77 Wrap mpbios_scanned in the right ifdef. 2003-01-07 20:13:29 +00:00
martin
2e5336f7a8 Fix broken error handling in case M_PREPEND fails.
Noticed by Matthias Scheeler.
2003-01-07 20:02:10 +00:00
fvdl
06b5330bc7 Add MPACPI option (commented out). Add MPBIOS option by default, it is
needed now to do MP BIOS MP configuration.
2003-01-07 18:55:36 +00:00
fvdl
a23660903d Add code to configure cpus, ioapics and interrupt wiring using ACPI.
Shuffle some code around so that this an exist as a method next
to mpbios, both creating the same data structures. If both are
defined, try ACPI first.
2003-01-07 18:54:08 +00:00
fvdl
d2dfe3f39a Define acpi_md_callback. It retrieves interrupt routing info if the MP
BIOS wasn't already used for that (currently won't happen; ACPI gets
to try first if configured).
2003-01-07 18:52:43 +00:00
fvdl
501607aeed Disable ExtINT by default when using I/O APICs. 2003-01-07 18:51:15 +00:00
fvdl
f33d911ff7 Don't use any cpu_info structures until at least one CPU was attached. 2003-01-07 18:50:13 +00:00
fvdl
c2ff6d5b83 Add various external declarations to accomodate ACPI MP probing as an
alternate method to MPBIOS probing. Move some stuff common to the two
methods into mpconfig.h
2003-01-07 18:48:44 +00:00
fvdl
9352d5f785 * Add aux argument to functions called from apic_madt_walk
* Improve acpi interrupt fixup a bit
	* Source is an array, don't compare it to NULL, instead
	  look for an empty string to denote a link-device-less
	  entry.
	* For root PCI busses, try to use the _BBN method to get
	  numbering right.
* Add acpi_md_callback() function for MD handling after the init,
  but before * at acpi probing.
2003-01-07 18:46:48 +00:00
fvdl
8db111aeb4 Fix error in ODIOCGDINFO handling caused by previous change to it. 2003-01-07 18:35:04 +00:00
rafal
f5d0c24512 Fix tyop 2003-01-07 16:37:31 +00:00
mrg
88f08d9ac1 - add a new message tag for level15 software NMI, and switch ddb to use this
rather than the level13 software intr xpmsg area.  now DDB IPI's don't lock
the xpmsg_lock and we avoid recursion and more.
- don't actually use cpuinfo.msg.lock yet, xpmsg_lock suffices.
- reread the pending register on mbus hypersparc cpus to avoid bugs in the
h/w that cause IPI's to be missed.
2003-01-07 16:20:13 +00:00
pk
02d686d112 Simplify ddb register storage setup: remove MULTIPROCESSOR special cases
and keep the ddb register copies on the current stack always.
2003-01-07 16:03:03 +00:00
pk
469014c2cd * Maintain a pointer to the cpu_info structure of the CPU being examined.
* Force cpu_Debugger() to have a stack frame, so tracing can at least
  start off matching arguments and function calls correctly.
2003-01-07 15:15:06 +00:00
pk
004dd5ecba #include <sys/kernel.h> for `cold'. 2003-01-07 13:12:59 +00:00
grant
3258109e78 regen 2003-01-07 12:20:10 +00:00
grant
0a49647d6b add Cambridge Silicon Radio and their Bluetooth USB Adapter. 2003-01-07 12:19:16 +00:00
pk
63b5299d1e Let all CPUs play.. 2003-01-07 12:09:00 +00:00
pk
e1dfbff267 xcall: use splclock() to prevent interrupts that want the kernel lock. 2003-01-07 10:57:18 +00:00
mrg
141297688f revert (most of) previous 2003-01-07 10:31:56 +00:00
itohy
87d5eedbbb Delete reference to astpending, which doesn't exist any longer. 2003-01-07 09:57:01 +00:00