Commit Graph

1794 Commits

Author SHA1 Message Date
tsutsui
ae6d7b8002 It turns out that not only HP425e but other HP4xx models also require
COM_HW_NOIEN for APCI com(4) ports.

Now I can login HP425t via both com[12] at frodo0.
2004-04-10 07:51:15 +00:00
tsutsui
6052b99ae3 "extern char *us_keymap" is not equivalent with "extern char us_keymap[]"
in prototype declarations.
Now hilkbdcngetc() works on "unknown" keyboards with proper default map.
2004-04-10 04:06:48 +00:00
tsutsui
d010f57a21 Include "ite.h" before the first reference of NITE.
Fixes panic with unknown type keyboards (including JP one).
2004-04-09 11:55:27 +00:00
tsutsui
25fa76b1ba Don't panic when kernel tries to print a horizontal tab via itecnputc(). 2004-04-08 17:41:50 +00:00
tsutsui
68fc876f21 Check mapped device VA by badaddr() in cnattach functions for framebuffers.
Now consinit() no longer hangs at least on HP425t with Topcat console.
2004-04-08 17:39:37 +00:00
tsutsui
f8cd9ac4fd Adjust FRODO_BASE macro since com_frodo uses bus_space_map(9)
which takes offset from intiobase instead of KVA.

Now com* at frodo? is probed properly.
(but not tested because I don't have a special cable for apci ports yet)
2004-04-07 13:41:10 +00:00
tsutsui
0af71a11f1 Adjust fd_name in struct frodo_device frodo_subdevs[]
since MD apci(4) has been switched to MI com(4).
2004-04-07 13:34:47 +00:00
tsutsui
eb4893fd2e Fix yet another y2k+1 bug. 2004-04-07 13:29:26 +00:00
drochner
091c877e12 remove license clauses 3 and 4 from my cpoyright notices 2004-03-24 16:34:29 +00:00
atatat
19af35fd0d Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
2004-03-24 15:34:46 +00:00
cl
ea5ec0212d add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP
2004-03-14 01:08:47 +00:00
nathanw
797c90374e Centralize identical copies of proc_trampoline code.
(lots more opportunites here for the bored hacker, such as rei and trap0...)
2004-03-04 19:53:44 +00:00
wiz
f05e6f1a3a occured -> occurred. From Peter Postma. 2004-02-24 15:12:51 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
martin
da4e67accc Do not export __HAVE_RAS to userland. Applications are supposed to try
rasctl() and detect failure with EOPNOTSUPP.
2004-01-18 18:23:19 +00:00
jdolecek
089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
pk
70f20a1217 Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes).  It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms.  Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
2003-12-30 12:33:13 +00:00
jmc
43bf89bfc6 Fixes from PR#23177. Various lint/logic fixes:
Fix some non-initialized variables
close the output files when done
Redo the printing for RCS strings so they don't expand in the awk script too
Do proper tests for variables existance before accessing

Verified output from all scripts is identical to original versions
2003-12-15 07:32:20 +00:00
jmc
695a2a2f9f Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
2003-12-10 02:04:00 +00:00
atatat
13f8d2ce5f Dynamic sysctl.
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al.  Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded.  Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment.  I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.
2003-12-04 19:38:21 +00:00
tsutsui
3aa8405cb9 Regen from diodevs rev 1.7:
> Change device ID for 98624A HP-IB from 0x80 to 0x01.
> nhpib.c in Lite2 used 0x01 and my 98624 also has an ID 0x01.
2003-11-23 01:59:25 +00:00
tsutsui
ff8bdea2e8 Change device ID for 98624A HP-IB from 0x80 to 0x01.
nhpib.c in Lite2 used 0x01 and my 98624 also has an ID 0x01.
2003-11-23 01:57:35 +00:00
tsutsui
919cc25d24 Add an entry of "com0 at dio0 scode 9" so that /dev/ttyC0 and
compat symlink (/dev/tty0) are always reserved for DCA serial.
2003-11-22 17:24:29 +00:00
tsutsui
b6c031f59c TAB/space cleanup. 2003-11-17 14:37:59 +00:00
tsutsui
b2fe3a3641 - define LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET
- set WARNS?=1
2003-11-14 16:53:37 +00:00
tsutsui
212f884f43 Misc cleanup:
- KNF
- WARNSfy
- remove __P()
- remove register declarations
- const'ify some variables
- make some local functions/variables static
- bcopy -> memcpy
- bcmp -> memcmp
- bzero -> memset
- space/TAB fix
etc.
2003-11-14 16:52:40 +00:00
tsutsui
306f405de0 Use "" rather than '\0' for null string. 2003-11-14 13:08:45 +00:00
tsutsui
6a20c93bb1 Revert part of previous NULL -> '\0' changes, where actually NULL is required. 2003-11-14 11:39:49 +00:00
tsutsui
302df7965a Backout part of rev 1.4 which caused uninitialized pointer dereference.
(How does it works!?)
2003-11-13 15:53:31 +00:00
tsutsui
d859f28a2d Use 32bit daddr_t for now so that uboot.lif works again.
XXX The real fix is adding prototype declarations for all functions.
2003-11-13 15:50:46 +00:00
tsutsui
9b10e90d9a Don't use htobe32() for int16_t values. 2003-11-13 14:07:01 +00:00
tsutsui
a0795dd18e Use int16_t and int32_t rather than short and int. 2003-11-13 14:06:22 +00:00
tsutsui
81d609b1f5 Remove obsolete comments about curproc. 2003-11-08 12:17:25 +00:00
tsutsui
dc9a6c03b4 Adapt to replacement of apcireg.h and dcareg.h. 2003-11-08 12:02:33 +00:00
tsutsui
f009006333 Remove obsolete files by MI com(4) driver support. 2003-11-08 11:22:11 +00:00
tsutsui
30f361a050 Move apcireg.h and dcareg.h to stand/common since they are no longer used
by kernel.
2003-11-08 11:19:30 +00:00
tsutsui
63b14eb5b6 Switch DCA and APCI serial devices to use MI com(4) driver.
DCA is tested on HP362 and HP382 with serial console,
but APCI on HP4xx is not tested yet.
2003-11-08 11:18:33 +00:00
dsl
2ffbd2ab99 Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead.
Remove p_raslock and rename p_lwplock p_lock (one lock is enough).
Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS.
Avoid unpredictable branch in i386 locore.S
(pad fields left in struct proc to avoid kernel bump)
2003-11-04 10:33:15 +00:00
cl
afee7aa4d7 Extend the #ifdef M68040 so that the `sig' variable declaration is moved
in as well, as it's otherwise not used. (from atari/atari/trap.c and
x68k/x68k/trap.c)
2003-11-02 16:49:38 +00:00
cl
ef56cc40ab Reduce code duplication by adding mi_userret() in sys/userret.h
containing signal posting, kernel-exit handling and sa_upcall processing.

XXX the pc532, sparc, sparc64 and vax ports should have their
XXX userret() code rearranged to use this.
2003-10-31 16:44:34 +00:00
tsutsui
2f551b5f25 NULL -> '\0' 2003-10-28 17:54:35 +00:00
tsutsui
93e8757186 Replace (a bunch of) NULL with '\0'. (we should define NUL?) 2003-10-26 16:15:55 +00:00
lukem
f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
jdolecek
694c204404 add major for 'ses' for archs which have the other scsi devices 2003-10-24 08:09:53 +00:00
jdolecek
ef5bb330f5 reassing majors for crypto and pf to use the newly defined MI major
range
2003-10-10 22:42:39 +00:00
jdolecek
4e915c9ccd update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
2003-10-10 21:21:25 +00:00
thorpej
68723a995b * Shuffle some data structures so, and add a flags word to ksiginfo_t.
Right now the only flag is used to indicate if a ksiginfo_t is a
  result of a trap.  Add a predicate macro to test for this flag.
* Add initialization macros for ksiginfo_t's.
* Add accssor macro for ksi_trap.  Expands to 0 if the ksiginfo_t was
  not the result of a trap.  This matches the sigcontext trapcode semantics.
* In kpsendsig(), use KSI_TRAP_P() to select the lwp that gets the signal.
  Inspired by Matthias Drochner's fix to kpsendsig(), but correctly handles
  the case of non-trap-generated signals that have a > 0 si_code.

This patch fixes a signal delivery problem with threaded programs noted by
Matthias Drochner on tech-kern.

As discussed on tech-kern.  Reviewed and OK's by Christos.
2003-10-08 00:28:40 +00:00
jdolecek
e6286b949a Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
2003-10-05 08:04:24 +00:00
simonb
106fc7cad0 White-space nit. 2003-10-02 13:53:49 +00:00
simonb
b73d5ee5b9 Use common m68k struct trapframe instead of rolling our own. 2003-10-02 13:53:08 +00:00