Commit Graph

26773 Commits

Author SHA1 Message Date
bjh21 4928854ae3 Arrange to inline hardsplx() into raisespl() and lowerspl(). This should
make them slightly faster, and makes it easier to see how much of the time
apparently spent in hardsplx() actually comes from deferred statclock
interrupts.
2001-05-01 22:19:09 +00:00
kleink 5652bfe409 Re-add accidently removed line continuation in previous; noted by
"Valeriy E. Ushakow" <uwe@ptc.spbu.ru>.
2001-05-01 20:37:44 +00:00
enami e3e7ff2cff Don't descent into plantid_gen since
- it's not objdir safe.
- and it's not necessary since up-to-date generated files are
  commited to trunk.
2001-05-01 13:26:20 +00:00
enami 0b309ab610 Wrap long line. 2001-05-01 13:24:02 +00:00
ragge 2ea00c4d85 Add ka610, remove TS11. 2001-05-01 13:21:27 +00:00
ragge b07617dece More CPU definitions. From Michael Kukat. 2001-05-01 13:20:35 +00:00
ragge 9ee994852e Use linear memory mapping for MV1. No map registers. 2001-05-01 13:20:02 +00:00
ragge e0a272b2cb Support for MicroVAX 1. 2001-05-01 13:18:27 +00:00
ragge ecf0eb7abd CPU support file for KA610 (MicroVAX I). Very simple. 2001-05-01 13:17:55 +00:00
ragge 68cb5a262d Do not (try to) remap the qbus on MV1. 2001-05-01 13:08:09 +00:00
toshii c7df9e68f9 Fix device matching in saip.
ca_match functions should return positive value when matched.
2001-05-01 12:36:54 +00:00
ragge 362abadb92 Detect 4000/500A, 4000/600A and 4000/705A. Also detect MicroVAX 1. 2001-05-01 11:13:46 +00:00
ragge 1e1a8fa3fd Support for more NVAX types: VAX 4000/705A and (untested) 600A.
From Michael Kukat.
2001-05-01 11:11:47 +00:00
bjh21 c7d1f1542c Use the correct condition code when deciding whether to take an AST (oops!).
Also disable interrupts correctly in the APCS-32 case.
2001-05-01 11:01:12 +00:00
scw adf7013d7f Match `osiop' instead of `ncrsc' now. 2001-05-01 07:33:29 +00:00
scw 813efd148a Don't panic in _bus_dmamap_sync() if a segment start address/length are
not aligned to a cacheline boundary.

Instead round down the start address, round up the length and "DTRT".
2001-05-01 07:32:51 +00:00
ross 43c3cc6cc0 Fix lock problems with error flow reorg. 2001-05-01 05:53:29 +00:00
thorpej cf3594e27e Delete the pmap_copy() calls. 2001-05-01 05:33:12 +00:00
thorpej 72a57e578e Use CPU_INFO_FOREACH(). 2001-05-01 05:16:44 +00:00
matt 1e70afa5e6 Make the jmp_buf bigger under ELF so it can store a full context. 2001-05-01 04:47:37 +00:00
thorpej ed63ff3c52 Use a single linked list for PV entries. This saves 1MB of space
on my 1G RAM AlphaServer.
2001-05-01 02:53:05 +00:00
thorpej cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
takemura a8304325bf Fix 'busname' to attach nodes correctly. 2001-05-01 00:25:16 +00:00
bjh21 a6b4c8d3da Strip the PSR bits off values of R15 before passing them to _mcount(). This
makes call-graph profiling actually work (hooray!).
2001-04-30 23:41:11 +00:00
bjh21 e5b19b546c Add two functions, int_off_save() and int_restore(), for mcount to use to
disable interrupts without getting into a loop or screwing up irq_handler().
Also use them.
2001-04-30 19:57:10 +00:00
kleink 99d1259e7f Don't let [gs]etcontext() and friends clash with userland. 2001-04-30 19:35:13 +00:00
ross 613d465e10 apply recent changes to DEBUG code 2001-04-30 19:00:41 +00:00
wiz 133599a99d Remove unused variable. Reported by Thilo Manske in port-mac68k/12794. 2001-04-30 17:12:03 +00:00
toshii fbdeb188a5 setsoftast is a macro now. 2001-04-30 15:54:28 +00:00
martin 77a926d775 Avoid nesting structure declarations, where the nested structur is used at
the global level later. Besides stylistic matters, this actually breaks C++
programs (indirectly) using this header.
2001-04-30 15:30:39 +00:00
toshii 87593b8b06 Pull in <machine/psl.h> for spl* definitions.
(same as arm32/include/intr.h rev 1.5)
2001-04-30 15:20:07 +00:00
uch dcf9239830 recompile. 2001-04-30 13:49:38 +00:00
uch 263bc3d6ae use inet_addr when gethostbyname failed.
patch by takemura@netbsd.org
2001-04-30 13:43:31 +00:00
uch a9cd2901fd add wrapper header for integer types. 2001-04-30 13:41:32 +00:00
takemura 26b0905dd0 Machine independent GPIO interface. 2001-04-30 11:42:17 +00:00
scw ff4a29679f Switch to the MI 53c710 driver recently committed by Izumi Tsutsui. 2001-04-30 09:05:58 +00:00
minoura fc97cb8a94 Correct memory leak.
Use single block transfer when appropriate.
2001-04-30 05:47:31 +00:00
tsutsui cdd9dc4e09 Add MD attachments for the Symbios/NCR 53c710 SCSI controller,
found on the NEC Express5800/230A.
2001-04-30 04:52:53 +00:00
matt 79649c917a Move RB_KDB check to after VM is init so that there's an
interrupt stack for DDB to run on.  This makes boot -d work.
2001-04-30 04:26:19 +00:00
lukem b8f8cf0235 remove some lint, including ansifying some inlines 2001-04-30 01:17:30 +00:00
thorpej 2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
matt a403ed4939 Fix printing of stack traceback (last argument was always wrong). Use
%#x so that 0s are 0 and not 0x0
2001-04-29 22:17:24 +00:00
sommerfeld a80b986278 Correct microtime() to use the microsecond part of the base timestamp. 2001-04-29 17:04:41 +00:00
bjh21 45eb40e8d3 Minimal implementation of cpu_sysctl(). 2001-04-29 15:13:45 +00:00
fvdl 9554615dfb Set NMBCLUSTERS to the old value of 256 here, as the new default
will only be a waste of space for this configuration.
2001-04-29 12:48:12 +00:00
scw 81be7c00b7 Compute PAGER_MAP_SIZE at runtime to avoid needlessly crippling large-
memory models for the benefit of small-memory models.

Uses a heuristic of min(onboard_ram_size/2, 16MB).
2001-04-29 07:53:56 +00:00
scw 89e9fc44d5 Do the same as mac68k/pmap.c:1.70 to prevent wired pages being
removed by pmap_collect().
2001-04-29 07:41:58 +00:00
thorpej f38e77afea Add glue for page zero'ing in the idle loop. 2001-04-29 06:54:03 +00:00
thorpej a96fcfa38c Disable the optimized in4_cksum() for now -- there seem to be problems. 2001-04-29 05:54:29 +00:00
thorpej cb648add29 The idle loop page zero'er no longer needs to do uncached access
now that we have page coloring.
2001-04-29 04:42:04 +00:00
thorpej cee702b869 Optimized in4_cksum(). 2001-04-29 03:29:21 +00:00
fvdl 70316ad6e1 Remove COMPAT_14. 2001-04-29 00:34:11 +00:00
bjh21 e9c8a1fbb5 Add ipfilter, rnd, vcoda and raid. 2001-04-28 17:41:01 +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
ragge 0c1fdede08 MD in4_cksum. 2001-04-28 09:38:03 +00:00
ragge 8f8a96a056 Fix a bug so that MD-optimized in4_cksum() now works.
While here; rewrite header checksum calculation in assembler.
2001-04-28 09:36:01 +00:00
thorpej 53c1b3f9d7 Add a microtime() implementation that interpolates between ticks
using the cycle counter.  MP-safeness is achieved by giving each
CPU its own PCC frequency variables, and kicking the non-primary
processors via an IPI once per second.

Based on the sample code from David Mills' "A Kernel Model for
Precision Timekeeping".
2001-04-28 06:10:49 +00:00
wdk 86d8020753 Move previous patch which performs allocsys() before pmap_bootstrap()
to the correct location.
2001-04-28 04:20:27 +00:00
jdolecek 3367b801f2 Add driver for SKNET Personal and MC+ - AMD Lance 7990 based ethernet cards.
Both models tested and seem to be quite stable and fast.

Thanks to:
- Hans Hubner <hans@Huebner.org> for giving me the cards for testing
- Georg Klug of Syskonnect, who provided me with hw docs for these cards,
  very promptly and willingly - I wish all vendors would be like this
- Alfred Arnold, Linux SKNET driver author, for giving me valuable Syskonnect
  contact :)
2001-04-27 18:03:40 +00:00
ragge ec52ca1e06 Enable the L1 cache on KA640. Problem reported and testing help from
Saku Setala.
2001-04-27 15:02:37 +00:00
tsutsui 1bcd6675d5 Reset FDC in news5000_init() to avoid spurious interrupts
after booting from floppy (since we don't have fdc driver yet).
2001-04-27 12:55:51 +00:00
lukem 0808e23b17 cdev_vmegen_init can use cdev__ocrwim_init 2001-04-27 05:47:47 +00:00
bjh21 3a7710b605 Add ELF version of _PROF_PROLOGUE. 2001-04-26 23:20:02 +00:00
bjh21 271fb855ce Arrange to restore R14 on return from __mcount, so that profiled assembler
routines will work.  We could put this in _PROF_PROLOGUE, but this seems
lighter-weight and possibly cleaner.
2001-04-26 22:09:57 +00:00
thorpej 9d7220db23 Explicitly include <machine/pio.h>. 2001-04-26 17:56:37 +00:00
thorpej ea0e8e69d5 Const poison. 2001-04-26 17:55:54 +00:00
kleink 99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
tsubai 520e444562 Cosmetic changes. 2001-04-26 15:52:00 +00:00
tsubai 75dbde785b Remove spaces at EOL. 2001-04-26 15:27:05 +00:00
tsubai 8e3cb2354b Comment out ``printf("spurious interrupt\n")''. 2001-04-26 14:40:19 +00:00
is f7455bf6e8 Be more specific than "some isic board". 2001-04-26 05:58:41 +00:00
ross 32edf97089 Move fp_complete() outside kernel lock perimeter. 2001-04-26 04:21:35 +00:00
ross b569533b9a Clean up 3 comments. 2001-04-26 04:16:17 +00:00
ross 2df695b1e4 o IEEE 754 floating-point completion code.
o Implement the architected FP_C "Floating Point Control Quadword"
2001-04-26 03:10:44 +00:00
thorpej a60e816e7a Provide a pmap_resident_count() that simply expands to 0. 2001-04-25 18:03:19 +00:00
thorpej 4717bdf66e Remove some redundant definitions (they're already in <mips/pmap.h>). 2001-04-25 17:54:07 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej fe664428c8 Garbage-collect pmap_page_index(). 2001-04-25 17:35:00 +00:00
bjh21 90dfa8d8ff Undo my accidental revival of pmap_kenter_pgs(). 2001-04-25 16:30:03 +00:00
thorpej d7e12660a3 Work around the problem that causes kern/12554. Basically,
there are some pathological cases that cause pmap_page_protect()
to be called on a wired page to revoke all mappings.  We
need to skip mappings that are actually wired to prevent Bad
things from happening later.

THIS IS JUST A WORK-AROUND.  We need to prevent the pathological
behavior from happening in UVM to begin with.  But it's unclear
what the right solution is there, right now.
2001-04-25 16:18:24 +00:00
bjh21 7cf0a5e592 Arrange the "unamanaged" pages (entered through pmap_kenter_pa()) are tracked
and ignored as necessary.
2001-04-25 14:42:31 +00:00
thorpej 5de93d4755 Move _i386_memio_unmap() into bus_machdep.c; the ACPI code wants it. 2001-04-25 03:31:23 +00:00
simonb 6f6fe2f3ad Spell occurred correctly. 2001-04-25 02:33:08 +00:00
thorpej c28272808b Remove the PTP and PV entry stealing code. Now that the pmap
module can fail gracefully, it serves little purpose, and the
code is a bit complicated and adds overhead to the context
switching code.
2001-04-24 20:53:43 +00:00
ragge 2f019a2701 Support for KA681 (4000/500A) from Michael Kukat. 2001-04-24 20:16:36 +00:00
thorpej 20f1193ce2 Delete a couple of statistics that are not really worth keeping. 2001-04-24 20:14:45 +00:00
thorpej 7d4893b529 Gather ASN info into a single structure, and place a variable-length
array of those structures at the end of the pmap structure.  We compute
the size of the pmap structure based on the maximum CPU ID for a
particular machine.  This gives us better cache behavior and better
memory footprint for the ASN info.
2001-04-24 20:11:53 +00:00
thorpej 42113967f9 Fix an uninitialized variable problem in the non-MULTIPROCESSOR case. 2001-04-24 20:03:20 +00:00
marcus bc069b939c Abstracted handling of System ASIC controlled IRQ:s a little.
Three different IRQ:s can be selected for each event, 9, 11, or 13
(which selects hardware priority).  More events to be added as they
are discovered.  Do not use shb_intr_establish() to register IRQ 9, 11
or 13 anymore.
2001-04-24 19:43:23 +00:00
uch 909873bca2 recompile. 2001-04-24 19:30:53 +00:00
uch bd926f64c6 code clean up. 2001-04-24 19:27:58 +00:00
bjh21 843c4223f1 setsoftast is a macro now. 2001-04-24 18:21:10 +00:00
bjh21 63692f5771 Rather large overhaul. Mostly cosmetic, but also:
Provide PROC_PC on arm26.
Provide working CLKF_INTR on arm26.
Make setsoftast a macro everywhere.
2001-04-24 18:20:21 +00:00
bjh21 01adfb1d35 Pull in <arm32/psl.h> for spl* definitions. 2001-04-24 18:16:43 +00:00
bjh21 05d087e7c7 Remove definitions of CLKF_*. They're defined in <arm/cpu.h> now. 2001-04-24 18:15:44 +00:00
uch f0df5e196f delete noisy debug message. 2001-04-24 17:09:54 +00:00
thorpej e553a6caf0 Do the first allocsys() pass (the pass that computes sizes) before
calling pmap_bootstrap(); pmap_bootstrap() needs some of the size
information computed by allocsys().
2001-04-24 15:41:38 +00:00
fredette de878b5521 Added these required headers. 2001-04-24 14:42:32 +00:00
tsubai af50ac4b06 Make sure free rx buffers have GMAC_OWN set. 2001-04-24 11:04:11 +00:00
leo 56ea880f14 Both isa_hades.c and isa_milan.c are also dependent on 'isa' of course... 2001-04-24 10:56:54 +00:00
nisimura da9a00c583 Add PRiD register imp value 0x2d for Toshiba TX4900 family. 2001-04-24 08:03:44 +00:00
leo 164b045485 Split the ISA common attachment stuff and the interrupt handling.
There are too many differences between the Hades and Milan in this area.
2001-04-24 06:39:47 +00:00
leo a1bcd64a89 The register spacing for the Milan is different. 2001-04-24 06:27:58 +00:00
leo d7512523ba Add sanity checking on register B of the mc146818. 2001-04-24 06:26:48 +00:00
leo 8e9f65f2a7 Don't emit SCU defines when it isn't present. 2001-04-24 06:17:22 +00:00
leo 7488e821c5 Handle cases in which the cpulabel pointer == NULL. 2001-04-24 06:15:42 +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
thorpej 1e306aae10 Garbage-collect pmap_bootstrap_alloc(); nothing uses it. 2001-04-23 23:58:09 +00:00
thorpej a5dd88f940 Add local prototype for internal pmap_bootstrap_alloc() function. 2001-04-23 23:57:49 +00:00
thorpej 92891185c3 Don't need a prototype for pmap_bootstrap_alloc(); the function
does not exist in the pmap API anymore.
2001-04-23 23:53:07 +00:00
thorpej 079c2e0ac9 Call pmap_bootstrap() before calling uvm_pageboot_alloc(), so that
the kernel virtual address space bounds will be set up.
2001-04-23 23:50:22 +00:00
bjh21 72aab13520 Add the IOLINES register from the ARM7500FE, and delete a few incongruous
blank lines.
2001-04-23 22:17:09 +00:00
rearnsha 8a64dad5d2 Eliminate dev->sc_xs. Simplify calls to sbicicmd. Replace
dev->sc_kv.dc_{addr,count} with dev->data{,len}.
2001-04-23 20:32:33 +00:00
kanaoka bb0eabfe15 - fixup only #0 bus --> fixup maxbus.
- Don't pciaddr_do_resource_allocate if device is AGP
   to avoid conflict.
2001-04-23 19:15:29 +00:00
uch c4ebb7bc47 recompile. 2001-04-23 18:09:27 +00:00
uch 144b54db26 generate opt_spec_platform.h. 2001-04-23 18:07:57 +00:00
thorpej cd31bdd2b7 Make sure virtual_end is initialized before calling uvm_pageboot_alloc(),
and garbage-collect the virtual_avail variable (it is not necessary in
this pmap implementation).
2001-04-23 17:14:17 +00:00
uch 12772d5476 I forgot to add. 2001-04-23 16:47:16 +00:00
thorpej 2c37838b72 The Alpha pmap_virtual_space() can return compile-time constants,
so do so.  This allows us to call uvm_pageboot_alloc() before
pmap_bootstrap().

Also, the virtual_start variable is unneeded in the Alpha pmap
module, and virtual_end (and the mostly-unused-except-by-bus_dma
variables avail_start and avail_end) can be `computed' at the
same time.
2001-04-23 15:42:29 +00:00
thorpej 92ca543e1c Panic if all mappings are not removed from a pmap when its
reference count drops to 0.
2001-04-23 15:26:08 +00:00
pk f33abf3809 Bump PIL_NET to 7; some sbus network boards use this interrupt level.
Nuke PIL_IMP.
2001-04-23 14:40:03 +00:00
sato 25bed1d297 fix memcpy argument in SPEC_PLATFORM&BOOT_STANDALONE case. 2001-04-23 11:31:15 +00:00
uch f95d468a51 switch to ELF kernel. 2001-04-23 11:22:55 +00:00
uch 210faed679 new hpcsh clock module. 2001-04-23 11:22:19 +00:00
uch 63ec3bc3fa dreamcast clock module was separated. 2001-04-23 11:20:41 +00:00
sato 40e5d08ed9 set specified platid when BOOT_STANDALONE & SPEC_PLATFORM=xx specified. 2001-04-23 10:13:02 +00:00
sato 4a5dcf307b #include "opt_spec_platform.h" 2001-04-23 10:08:28 +00:00
jdolecek 7c9c35e3e7 Move the inclusion of 'mca.h' so that it doesn't depend on pcppi. The clock
interrupts are properly reset on PS/2 now.

Handle the slighly different PS/2 CMOS layout and get/set century
byte as appropriate. The check for valid CMOS CRC checksum is not implemented
yet; I don't currently know algorithm they use.

The info about PS/2 CMOS was taken from the Padgett Peterson's
x86/MSDOS Interrupt List, release 60.
2001-04-23 09:35:12 +00:00
jdolecek e99b513ca1 fix typo 2001-04-23 05:45:43 +00:00
thorpej 69fd928d7c Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-23 01:02:06 +00:00
thorpej 55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej ec66f67f3a Use pmap_kenter_pa() rather than pmap_kenter_pgs(). 2001-04-22 23:28:52 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
fredette 8a5ee3ff29 Added. 2001-04-22 21:00:27 +00:00
ross 8e68ebf6df Add one-line placeholder for pending commit so diffs are complete. 2001-04-22 20:47:22 +00:00
soren a671e50d00 Put tr(4) in network section. 2001-04-22 19:53:25 +00:00
jdolecek 24568e5a13 Since IBM PS/2 support is becoming quite stable, remove the lenghty
disclaimer on top and leave only necessary fragments.
edc(4) seems to be quite stable, remove the EXPERIMENTAL note
2001-04-22 19:15:05 +00:00
jdolecek 0800e2ed46 add major { ed = 20 } 2001-04-22 18:39:49 +00:00
thorpej 5871b80f00 Use uvm_pageboot_alloc() for early memory allocation, rather than
calling pmap_steal_memory() directly.  On these platforms, since
uvm_pageboot_alloc() is a wrapper around pmap_steal_memory(), there
is no functional change.  This is merely for API consistency.
2001-04-22 18:21:48 +00:00
uch 103b08ffa1 make this compile again under SH4 2001-04-22 17:37:55 +00:00
thorpej cfb5c7ed9f Make pmap_virtual_space() a required pmap function, even on platforms
which have pmap_steal_memory().  This is to reduce the API differences
between pmaps that implement pmap_steal_memory() and pmaps which do
not.

Note that pmap_steal_memory() needs to adjust *vstartp and/or
*vendp only if it used addresses within the range provided to UVM
via the pmap_virtual_space() call.  I.e. it is not necessary to do
so in any current pmap_steal_memory() implementation.
2001-04-22 17:22:57 +00:00
uch 95f0d5c680 add RTC control register 1 defines. 2001-04-22 16:50:17 +00:00
bjh21 8eed59a146 Move arcpp so it attaches before podulebus. 2001-04-22 15:26:07 +00:00
bjh21 11b40e716c Add arcpp. Not in GENERIC because I don't know it works. 2001-04-22 15:02:51 +00:00
bjh21 856547f067 Driver for Archimedes parallel ports. I haven't got a parallel printer, so
this is currently untested.
2001-04-22 15:01:25 +00:00
bjh21 2a1570b5d9 Add functions to twiddle the latch bits, patterned after the ones in Linux. 2001-04-22 15:00:13 +00:00
jdolecek 912e570671 Introduce machdep mca_disk_[un]busy(), which turn on/off disk LED.
Call as appropriate from the ESDI disk driver
2001-04-22 11:52:18 +00:00
jdolecek 738e87aeb9 fix argument for bitmask_snprintf() (stylistic only, code is commented out anyway) 2001-04-22 11:51:45 +00:00
shin 2d7f52d2c7 add Serial Line IP (sl). 2001-04-22 02:06:34 +00:00
shin 22b4360d24 add config files for installation. 2001-04-22 02:01:43 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
bjh21 660a20cd22 Add a skeleton driver for the random latches on the Archimedes, which are
shared between the printer port and floppy drive.  Useful facilities will be
added when I know what I need.
2001-04-22 00:26:35 +00:00
thorpej 7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
ross c8ee2e4ddd Import and use cpu_info_primary for non-MULTIPROCESSOR.
Hey, it compiles, and it's only -current.
2001-04-21 22:03:21 +00:00
fvdl 4c41d3275c s/cheap/expensive/ for DIAGNOSTIC 2001-04-21 21:10:41 +00:00
fvdl 41a3ee5d58 Note that the (already commented out) DIAGNOSTIC option is expensive. 2001-04-21 21:03:46 +00:00
fvdl 2654febb55 Remove DIAGNOSTIC and mark it as expensive. 2001-04-21 21:02:03 +00:00
fvdl a1b8e618af Doh. Put the option *after* the include of plain GENERIC. 2001-04-21 20:58:13 +00:00
fvdl 781af989f9 Move the DIAGNOSTIC option to a seperate config file, it's too expensive
to be in GENERIC (which should be a kernel ready for production use).
2001-04-21 20:49:14 +00:00
rearnsha 8faae68155 Use bus_space functions for accessing SBIC registers. 2001-04-21 20:47:26 +00:00
jdolecek 6402f68d79 Match any device with class bridge and subclass BRIDGE_MC, instead
of matching individual products. Pointed out by Jason Thorpe.
2001-04-21 19:18:20 +00:00
bjh21 85e1abfb39 Keep track of interrupt depth. With forthcoming changes to cpu.h, this gets
us accounting for interrupt time.
2001-04-21 18:51:17 +00:00
thorpej 15f731ee94 pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations.  Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +00:00
thorpej c3df364b08 pmap_update() -> tlbflush() 2001-04-21 17:20:58 +00:00
thorpej 82065e8a0b Update the comment for pmap_update(). 2001-04-21 17:13:12 +00:00
thorpej 24e7ecca97 Adjust the way the cpu_info[] array works (array of pointers
rather than array of structures).  Keep a list of active
CPUs and define a CPU_INFO_FOREACH to traverse them.

This fixes cpustates statistics tracking.
2001-04-21 16:27:10 +00:00
sato 5c43977ed6 - fix comment for MCR/530.
- add MCR/530A(MobilePro780) PWCTL_COM0 device.
- add MC-R520A(MobilePro770) BTN_COVER device,
   but commented because of no checking.
- add MC/R530A(MobilePro780) BTN_COVER device,
   but commented because of no checking.
2001-04-21 15:56:55 +00:00
bjh21 630f137a5e Multiple-inclusion protection. 2001-04-21 15:47:32 +00:00
sato 9804ab7c49 add VR4181 vrip register maps.
add VR4181 vrip intr levels.
2001-04-21 14:46:36 +00:00
sato 05c9ce0788 add VR4181 BCU register definitions.
add routines for VR4181.
2001-04-21 14:44:40 +00:00
tsutsui c7bcfd56a3 Fix a leftover comment. 2001-04-21 11:54:25 +00:00
sato a797d869ed dump io setting: DPRINTF->VPRINTF 2001-04-21 10:32:38 +00:00
tsutsui c6e66cb834 Define ${ELF2ECOFF} and use it so that we can specify objcopy
for it on cross environment.
2001-04-21 05:54:02 +00:00
ross baa78b5c79 Nonfunctional change split out from pending functional commit. 2001-04-20 23:52:23 +00:00
thorpej 4ad5b289fe No longer need to play with the kernel_lock while waiting
for the other processor to sync FP state.
2001-04-20 22:59:38 +00:00
thorpej c24c3604b0 SPINLOCK_INTERLOCK_RELEASE_HOOK should actually be
SPINLOCK_SPIN_HOOK, so that we actually check for
pending IPIs on the Alpha more than once.  Also,
when we call alpha_ipi_process(), make sure to go
to splipi().
2001-04-20 22:58:39 +00:00
thorpej b8ccfcaac5 Add splipi() to block interprocessor interrupts (which come in at IPL 5). 2001-04-20 22:28:58 +00:00
toshii 61ff48a82e In pmap_allocpagedir(), check if uvm_km_zalloc of ptpt is successful,
and handle alloc failure case.
2001-04-20 18:11:53 +00:00
matt 1a5fe5b583 Split cpu from mainbus so that cpu can attached to other buses (like ofbus). 2001-04-20 18:08:48 +00:00
thorpej 97682364ef Adjust for a multiprocessor data structure change (whee, I guess
I haven't built a GENERIC.MP for a while...)
2001-04-20 18:03:27 +00:00
thorpej 499f5a02fd Alas, we must put pmap_emulate_reference() in the kernel_lock
perimeter as long as we still acquire it in interrupt handlers,
in order to avoid a lock ordering deadlock.
2001-04-20 18:00:50 +00:00
he 9f142f57b9 In the provisional disklabel (which will be used if there is no
valid on-device disk label), set d_npartitions to RAW_PART+1 instead
of to 1.  Discovered as a build bug on the netbsd-1-5 branch, affecting
miniroot construction and vnd devices; RAW_PART went missing from the
in-core disklabel, and eventually also the on-device label.
2001-04-20 16:58:19 +00:00
matt 5f6967f571 A small change for NETWINDER support. (netwinder needs its own pci_attach_hook) 2001-04-20 16:52:04 +00:00
matt 60ca1c1c66 Make EXEC_ELF32 standard. Cleanup/fix GENERIC to include more devices. 2001-04-20 16:48:01 +00:00
thorpej e84fefd1f1 pmap_asn_alloc(): In a multiprocessor configuration, it's possible
to arrive here referencing the kernel_lev1map without having the
RESERVED ASN -- another CPU may have caused pmap_lev1map_destroy()
to be called, and that routine only invalidates the ASN for the
CPU that called it.  So, in the MULTIPROCESSOR case, simply assign
the RESERVED ASN if we reference the kernel_lev1map rather than
asserting that we already have the RESERVED ASN.  Thanks to Bill
Sommerfeld for helping me track down the problem.

Also add a new IPI that causes a CPU to re-activate its address
space if the pmap it's using changes level 1 maps (this probably
won't happen very often, but it's correct to have it).

This makes Alpha MP kernels boot multiuser.  In fact, this commit
is being made from my dual-CPU AlphaServer 1200 running an MP kernel.
2001-04-20 16:22:33 +00:00
matt 21b85badda More changes to get the netwinder to multiuser. Hack the initarm code
to reserve the first 2MB for the kernel.  Use the netwinder specific
files.  Add pci_attach_hook for init the pci devices.  Add and alternate
id for the PCI ISA bridge.
2001-04-20 16:09:48 +00:00
reinoud 80b53c5a9b Euhm... small typo ! 2001-04-20 12:47:55 +00:00
sato 355c78fa22 enlarge MSGBUFSIZE for -v option. 2001-04-20 12:08:45 +00:00
sato f3f40df128 options<TAB><TAB> -> options<SPACE><TAB> 2001-04-20 12:07:49 +00:00
sato 17218cb6b4 - add VR4181 and VR4122 cpu for hpcmips. and regen headers.
- add new option 'options BOOT_STANDALONE'
	boot from standalone(not WinCE application) boot loader.
- add new option 'options SPEC_PLATFORM'
	statically specify platid in config file.
	In BOOT_STANDALONE case,
	'options SPEC_PLATFORM=platid_mask_MACH_xxx_yyy',
	and add 'options SPEC_MACH_xxx'&'options SPEC_MACH_xxx_yyy'.
	for  specify platid in config file statically'
	In wince boot case, 'options SPEC_PLATFORM'
	and add 'options SPEC_MACH_xxx'&'options SPEC_MACH_xxx_yyy' for
	config level size optimization.
XXX: now I working in hpcmips...
2001-04-20 10:15:02 +00:00
kanaoka 9d36cadfe7 - Allocate memory map entry correctly to avoid Compatibilty Holes.
- Update some comments.

 patch provided by: enami tsugutomo <enami@sm.sony.co.jp>
      suggested by: John Hawkinson <jhawk@MIT.EDU>
2001-04-20 09:10:45 +00:00
jdolecek a98cbd0740 Add MCA ne(4) attachment for Novell NE/2 Ethernet adapter and clones.
Tested with NE/2 card provided to me by Hans Hubner <hans@Huebner.ORG>.

The Compex and Arco cards were not tested. According to Linux ne2 driver,
they should work same way as NE/2.
2001-04-20 07:37:42 +00:00
matt 2297e41241 After finishing with the received descriptor, make sure to "eieio" to make
sure the OWN gets back to the gmac in the proper order.  This reduces (and
maybe even fixes) the gm0 out-of-order problem.
2001-04-20 01:18:47 +00:00
thorpej 702cab6b16 Eliminate race conditions in the FP-switch code. MP kernels get
much further on the way to multi-user now.
2001-04-20 00:10:17 +00:00
chris 485dbd078a Improved IRQ handling code on IOMD. By using an ffs-like algorithm we don't need to loop quite so much when looking for bits to service (also means we only service irqs that need servicing), also moved code around to avoid stalling where it doesn't loose too much understandabilty. 2001-04-19 20:46:07 +00:00
thorpej c68e2d61d2 Add support for attaching "com" serial ports as KGDB devices. 2001-04-19 18:25:26 +00:00
uch 9fc37d32af remove non-existent function declaration. 2001-04-19 18:24:16 +00:00
uch 207066edaa fix comment. 2001-04-19 18:22:34 +00:00
uch d6c81cbed0 fix comment.
fix KERNBASE, KERNTEXTOFF.
2001-04-19 18:21:19 +00:00
thorpej 8acff45e10 Work around a firmware bug on the AlphaServer 1000A whereby the
built-in ISA display is reported incorrectly.
2001-04-19 18:02:57 +00:00