Commit Graph

26791 Commits

Author SHA1 Message Date
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
thorpej f2f0a680e3 Glue in KGDB. Needs some more work -- KGDB currently renders
DDB disabled, but it's a start.
2001-04-19 17:48:46 +00:00
uch 9b730bc368 patch PR port-i386/11114 by MINOURA Makoto. 2001-04-19 17:32:40 +00:00
rearnsha 348133bed4 More formatting cleanups. Disable UNPROTECTED_CSR since the code
is unsafe (can clear interrupts that we are waiting on).
2001-04-19 17:30:20 +00:00
jdolecek dbf91c827d Use "edc" instead of "dasd". As pointed out by Soren, dasd doesn't
mean anything special in IBM-talk. And edc better matches prior art, too.
2001-04-19 17:17:28 +00:00
pk d373e2120f Fix fdc_c_hwintr() and use it as a fall back if the `fast trap' handler
cannot be registered.
2001-04-19 14:53:36 +00:00
bjh21 e66c66730e Remove <arch/arm26/podulebus/podulebus.h>. Podulebus driverd now include
<dev/podulebus/podulebus.h>.
2001-04-19 13:47:07 +00:00
kleink 622af9d8c2 Add remaining int_* wrappers. 2001-04-19 08:13:53 +00:00
jdolecek 0915128873 add stuff for ESDI disks, marked as EXPERIMENTAL 2001-04-19 07:37:10 +00:00
mrg 72177f5b6f -Dsparc64 2001-04-19 07:35:14 +00:00
jdolecek e1d848e38a add ed at mca (ESDI disk) 2001-04-19 07:34:28 +00:00
matt 446403457a Don't the RPC stuff on SHARK or FOOTBRIDGE machines. 2001-04-19 07:19:48 +00:00
matt afc8ecb0ea A small NETWINDER kludge. 2001-04-19 07:15:24 +00:00
matt e046a0dbfb Add a NETWINDER keyword 2001-04-19 07:14:52 +00:00
matt dba1f1b73d Add the isa & pci machdep files. 2001-04-19 07:13:24 +00:00
matt 56260f7d2c Populate the netwinder include directory. 2001-04-19 07:11:00 +00:00
matt 60f69773a0 A minimum amount to get netwinder support 2001-04-19 07:01:11 +00:00
matt df03fa3de9 Add these to CVS so other folks can look at them and let me what
I'm screwing up.
2001-04-19 06:53:58 +00:00
thorpej f9d203e8f7 KGDB glue for NetBSD/alpha. 2001-04-19 02:56:34 +00:00
thorpej 58f470b95a Need <sys/kgdb.h> for kgdb_connect() prototype. 2001-04-19 00:21:08 +00:00
rearnsha 50e1e30747 Put back that old (not) unused include file. But only include it
when ARMFPE is defined.  Since that is the only time we use it.
2001-04-18 20:27:33 +00:00
thorpej b1cdda68fb Remove an un-true comment regarding the location of the u-area. 2001-04-18 16:04:43 +00:00
thorpej d2fefd399c ctype-like functions are in libkern now. 2001-04-18 15:43:01 +00:00
thorpej 7fe777de1c toupper() exists in libkern now. 2001-04-18 15:39:34 +00:00
fredette c1d17391f5 Added support for the sc SCSI controller on mbmem. 2001-04-18 15:09:47 +00:00
fredette 02db82623f Trimmed off some options that are unnecessary for now,
and some that don't work.  Added some more comments,
commented out some 2/50 device entries.
2001-04-18 15:08:59 +00:00
sato 12a0a0a537 - support VR4122 vrip register map.
- support VR4122 ICU register map.
- support VR4122 intr levels.
XXX: currently if 'options VR4122' is defined,
XXX: cannot specify 'options VR4121','options VR4111', 'options VR4102'.
XXXX: i have not the VR4122 based hardware.. so no check for VR4122.
2001-04-18 11:07:26 +00:00
sato 553d85e2d4 missing includes in last commit (rev1.6->1.7). 2001-04-18 11:00:30 +00:00
sato d4262d1ab3 use VRIP_CMU_ADDR in vr/vripreg.h 2001-04-18 10:48:58 +00:00
sato 9d92917cd6 check platid if 'options VR41XX' and 'options TX39XX' are both defined.
XXX: currently this case is missconfiguration and not compilable.
XXX: because all codes are not supported this case yet.
2001-04-18 10:42:39 +00:00
kanaoka e2749d2799 Add "Sanity check the entry" code to avoid Compatibilty Holes
(0xa0000 -- 0xfffff).
2001-04-18 05:44:10 +00:00
fredette db8595f14f Much bus_dma work. When destroying a map, unload it if it's
loaded.  Added more comments.  Fixed the perspective of a 24-bit
device from the original sun4 code to match the sun2.  For now,
we don't double-map pages into DVMA space by hand, we're back
to using pmap_enter.  Be more paranoid about saving and
restoring the MMU user context.
2001-04-18 03:45:10 +00:00
fredette 026720119b Added support for the Sun SC scsi controller. 2001-04-18 03:38:38 +00:00
fredette 451d8d47e1 Added support for creating a bus_dma tag for the mbmem bus. 2001-04-18 03:34:54 +00:00
fredette 5f19315baa Now define IPL_BIO. 2001-04-18 03:30:14 +00:00
fredette 68230340aa Fixed a bug in db_write_text where on exit we would bash
a PTE in whatever user context happened to be set on
entry.
2001-04-18 03:19:21 +00:00
ichiro cb893abf13 typo
PGOFFSET -> PGOFSET
2001-04-18 01:35:14 +00:00
thorpej 1bf3f87777 Fix a problem with kcopy()/copyin()/copyout() on MP systems
that became apparent when UBC was added: store a pointer to
the process itself, not a pointer to ci->ci_curproc.

This gets us back to where we were before UBC went in: MP
kernels get to single-user mode, and can run processes on
both CPUs, but things go south when we try to come into
multi-user mode.
2001-04-18 00:38:10 +00:00
thorpej a51a1d8cdd - Get rid of the prot bits in the mem_clusters[] array when
reserving RAM in the bus_mem extent map.  Problem pointed
  out by Artur Grabowski.
- Work around a slightly annoying bit of behavior exhibited by
  the UP1000 firmware.  The UP1000 firmware reports the space
  consumed by the "ISA hole" in the same MDDT entry as two
  chunks of RAM (on either side of the hole) used by the PALcode,
  all as one "reserved for PALcode" chunk.  We must take this
  into account when reserving RAM in the bus_mem extent map.
2001-04-17 21:52:00 +00:00
pk 4485b7f720 pmap_enter():
* turn ad-hoc `pmap resources allocated during sleep' into a panic condition
  (this should all be prevented by higher level VM locking).
* arrange for ENOMEM to be returned if PMAP_CANFAIL is on, and malloc()
  and/or pool_get() fail.
2001-04-17 20:14:46 +00:00
toshii 58165a53a2 Make masked interrupts don't bring CPU out of idle mode. 2001-04-17 17:12:40 +00:00
toshii cfa894dce0 Use idle mode in process waiting idle loop. 2001-04-17 16:14:57 +00:00
toshii de8e20334a Map a page needed for entering idle mode.
Also, use zero memory at physaddr 0xe0000000 to clean D cache.
2001-04-17 16:10:47 +00:00
toshii ffe7f4da8a Fix a bug crept in the previous revision. Call dosoftints() after
reenabling interrupts.
2001-04-17 16:07:13 +00:00
toshii a78b59337f Overhaul interrupt handlers.
- Set the match register before calling hardclock() to prevent
 clockintr lossage.
- Better handling of match register overrun case.
2001-04-17 15:58:51 +00:00
toshii 0c1210c6b3 Make the debugging hack needed for DEBUG_BEFOREMMU functional again. 2001-04-17 15:53:04 +00:00
toshii 5373b5ab86 Special care must be taken in order to run statclock at 128Hz.
For now, change statclock rate to 64Hz for simplicity.

Thanks to Ross Harvey for pointing out this issue.
2001-04-17 15:49:02 +00:00
sato cdc83120a7 fix SINGLE_VRIP_BASE condition. 2001-04-17 15:45:20 +00:00
toshii af9740eeee Initialize platid in hpc_machdep(). 2001-04-17 15:33:39 +00:00
takemura a8106b2b59 Fix typo. kbdparam.h -> kdbparam.h.
RP12685
2001-04-17 15:19:41 +00:00
kleink 40c8d08347 Oops, intptrs are always long integers. 2001-04-17 13:46:02 +00:00
sato 97683d27ae - definition for vr cpu identify.
- definition for vr cpu group identify.
2001-04-17 11:13:16 +00:00
dbj 6456e9d8a9 increase maxsegs of esp main dma map by one to avoid error
tweak esp glue to read xfer_len from dma map
add some debugging checks for dma driver invariants
read DD_LIMIT instead of DD_SAVED_LIMIT on scsi dma shutdowns
2001-04-17 03:42:24 +00:00
dbj fa84b1d943 make sure that dm_segs is last field of next68k_bus_dmamap,
so that variable length allocations work
2001-04-16 21:36:58 +00:00
chris 7b97ef04ca Enable clockswitching on sa110 (with it disabled the core clock runs at the speed of the memory bus) 2001-04-16 18:09:56 +00:00
bjh21 074987f4a3 Ensure that we have some idea what a label_t is, even in userland. 2001-04-16 17:30:32 +00:00
thorpej 18c1bea288 Oops, properly mark a memory operand as both an input and an
output as necessary.
2001-04-16 17:05:22 +00:00
bjh21 020a050984 Randomize the statclock period properly. We use the same algorithm as the
sparc port.
2001-04-16 14:12:38 +00:00
dbj b2bff5fc7f add receive ethernet bpf tap
keep receive ethernet crc and set M_HASFCS
change bus_dma MD fields to keep xfer_len for entire map
  instead of per segment
turn off automatic dma restarts in preparation for changing
  scsi driver to handle them.
add dma debugging routines to keep history of dma states
tweak checking for unusual dma limit register
2001-04-16 14:12:12 +00:00
briggs 511ae4853c Remove extra whitespace after \. 2001-04-16 13:45:31 +00:00
sato 00ec577a8e add VR4122 specified register definitions.
XXX: vrip.c is not yet supported VR4122.
2001-04-16 09:55:56 +00:00
sato 8a19f18c0b fix typo in comment. 2001-04-16 09:17:05 +00:00
thorpej 1bd443444b In splx(), don't call spl0() unless the ssir != 0. 2001-04-15 23:26:05 +00:00
thorpej 00f815f803 Clean up soft interrupt related stuff a bit. 2001-04-15 23:07:34 +00:00
toshii 9e3772786d Add header files for PPC and SSP register definitions. 2001-04-15 17:27:26 +00:00
toshii 1875326646 Use the second channel to generate 128Hz statclock interrupts.
top(1) reports more accurate CPU times (user/sys/intr/idle) now.
2001-04-15 17:19:32 +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 c544d84b41 Catch up with ansi.h rev. 1.12: define SIZE_T_MAX and SSIZE_MAX as long
integer constants in ELF environments.
2001-04-15 14:16:08 +00:00
kleink 80ad23a5da Catch up with ansi.h rev. 1.12: define intptr_t and uintptr_t as long
integers in ELF environments, like is done with ptrdiff_t.
2001-04-15 13:38:19 +00:00
takemura 05859f4c8e Add __COMPILER_UINT64__="unsigned __int64" syncing with the change
of arch/mips/include/int_types.h, revision 1.4.
2001-04-15 12:27:32 +00:00
bjh21 5a15be6a18 Don't panic on a stray IRQ, just log it and hope it goes away. This works for
my acemidi card at least.
2001-04-15 11:59:43 +00:00
takemura 60f9754d4b Add __COMPILER_UINT64__="unsigned __int64" syncing with the change
of arch/mips/include/int_types.h, revision 1.4.

The version of the binaries are '1.17.3 2001.04.15'
2001-04-15 10:10:43 +00:00
kleink 75f6b62025 Add long-missing(!) <machine/math.h>. 2001-04-14 22:48:31 +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
bjh21 cee3528adc When checking if an IRQ is active, check for _all_ the right bits' being set,
not just some of them.
2001-04-14 19:58:58 +00:00
reinoud 763e66f5de Initial commit of wsmouse driver for the IOMD quadratic mouse. 2001-04-14 19:22:43 +00:00
bjh21 e0e3b230c1 Remember to initialise the interrupt handle.
Bugs like this are my penalty for having my only supported podule in slot 0.
2001-04-14 18:39:20 +00:00
scw 9beeeabe1b Define a PAGER_MAP_SIZE of 4MB for the benefit of low-memory models.
XXX: This may still not be low enough for models with less than 8MB RAM...
2001-04-14 16:02:24 +00:00
reinoud 4e845e001a Accidently left COMCONSOLE configured 2001-04-14 14:51:04 +00:00
augustss 72eb64fead Propagate __HAVE_GENERIC_SOFTINTR to assembly files. 2001-04-14 13:56:02 +00:00
scw dd8c947561 Implement a real microtime() by reading the timer counter register.
On mvme147 this gives 6.25uS resolution, and 1uS on all other boards.
2001-04-14 13:53:05 +00:00