Commit Graph

64 Commits

Author SHA1 Message Date
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
fredette 5f19315baa Now define IPL_BIO. 2001-04-18 03:30:14 +00:00