Commit Graph

65 Commits

Author SHA1 Message Date
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
thorpej
ffc984aa7c Use PAGE_SIZE rather than NBPG. 2003-04-02 07:53:56 +00:00
thorpej
50659edcb7 Make PAGE_SIZE, PAGE_SHIFT, and PAGE_MASK a compile-time constant on Sun2. 2003-04-01 15:33:48 +00:00
thorpej
d2275d51e1 Merge the nathanw_sa branch. 2003-01-18 06:55:21 +00:00
thorpej
e8cc3884de Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is. 2002-12-10 17:14:02 +00:00
thorpej
78ea2dd367 Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
lukem
0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
chs
c081614ea2 it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not.  doh.
2002-09-22 07:53:39 +00:00
chs
55e1f79335 add pmap_remove_all() hook (empty on most platforms so far). 2002-09-22 07:17:08 +00:00
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
briggs
0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
scw
bef00d4895 m68k syscall rototill:
- Switch all m68k-based ports over to __HAVE_SYSCALL_INTERN.
 - Add systrace glue.
 - Define struct mdproc in <m68k/proc.h> instead of <machine/proc.h>.
   (They were all defined exactly the same anyway, other than a couple
   of the MDP_* flags.)
2002-07-13 08:28:40 +00:00
matt
0a6d35b7ed Nuke local extern label_t *db_recover; it's now in <ddb/db_extern.h> 2002-05-13 20:30:07 +00:00
fredette
6db09399a0 Added bits to use the console code under sys/arch/sun2 and
sys/dev/sun.
2002-03-22 00:28:08 +00:00
simonb
4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
christos
6b030ee036 - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
2002-02-27 01:19:03 +00:00
thorpej
07d023a3aa Define ELF32_EHDR_FLAGS_OK()/ELF64_EHDR_FLAGS_OK() and use it
as an added measure to make sure that we can execute a binary.
These default to (1) if elf_machdep.h does not override them.

On Sun2, ELF32_EHDR_FLAGS_OK() checks for the presense of EF_M68000,
since the 68010 cannot run binaries for the 68020-and-up.
2002-01-28 22:15:54 +00:00
thorpej
9c3a981460 Just use the stock m68k/elf_machdep.h for now, so that things compile.
A patch to handle EF_M68000 will be posted shortly.
2002-01-28 21:52:49 +00:00
thorpej
51535d4bf5 Add support for dumping ELF-cormat core files. 2001-12-09 23:05:56 +00:00
fredette
94ae8e87a9 Purge vm_offset_t. 2001-11-30 17:52:33 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
thorpej
47514a31be Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
2001-11-09 06:52:23 +00:00
fredette
65df8b69be Added the prom_kbdid function, to help us figure out if
the console keyboard is on the parallel interface or zs1.
2001-10-01 01:46:56 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
fredette
9dd442f913 Added a Makefile for the sun2 includes. 2001-06-27 19:22:18 +00:00
fredette
4c566b2daa Include a common header, then define macros that
give the appearance of specific attach args for
the mbio and mbmem buses.
2001-06-27 19:21:49 +00:00
fredette
2cf2ebc67c Now define a suitable ELF32_MACHDEP_ID_CASES. 2001-06-27 19:20:22 +00:00
fredette
dd2704a334 Just include a common header. 2001-06-27 19:19:22 +00:00
fredette
dced0aa013 Declare the PROM console device. 2001-06-27 19:02:26 +00:00
fredette
33575e8a53 Now don't include zsvar.h until the end. splzs() is
now defined in machine/cpu.h.  Define zs_peripheral_type.
2001-06-27 19:01:14 +00:00
fredette
f76d90d237 Added comments and fixed some macros now that I correctly
understand how to address the sun2 VME bus in the VM hardware.
2001-06-27 18:54:27 +00:00
fredette
5f35b65f29 Now define kernel_context() and restore_context(), these
are used by some sun68k common code.
2001-06-27 18:48:30 +00:00
fredette
edad0f956c Under _LKM, now undefine KERNBASE for declaring it.
Not sure if this is correct, but the real question
is whether 68000 LKMs are even possible.
2001-06-14 13:18:54 +00:00
fredette
54f88e2668 Corrected the value of DVMA_OBIO_SLAVE_BASE; obio
devices can see the entire CPU address space.
2001-06-14 13:17:04 +00:00
fredette
01e5507e7e Now simply include the real header under arch/sun68k. 2001-06-14 13:16:03 +00:00
fredette
000fa36842 Moved the definition of romVectorPtr here from mon.h.
Prototype prom_sd_target.
2001-06-14 13:15:21 +00:00
fredette
9e52c15c31 Now simply include the real header under arch/sun68k. 2001-06-14 13:12:50 +00:00
fredette
cca6e28421 Added comments and fixed some macros now that I correctly
understand how to address the sun2 VME bus in the VM hardware.
2001-06-08 18:00:51 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
chs
118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
fredette
0c48999192 Rewrote a variable constraint to make gcc 2.95 happy. 2001-05-14 20:39:52 +00:00
fredette
c5feae5dbf Now always define PGSHIFT. Thanks to the ELF move, note the new
larger msgbuf size and different KERNBASE.
2001-05-14 20:35:58 +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
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
thorpej
fe664428c8 Garbage-collect pmap_page_index(). 2001-04-25 17:35:00 +00:00
fredette
de878b5521 Added these required headers. 2001-04-24 14:42:32 +00:00
thorpej
69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +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
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