Commit Graph

55900 Commits

Author SHA1 Message Date
rkujawa
2acf437055 Fix incomplete bus_dma tag. 2012-07-11 19:14:17 +00:00
rkujawa
68f1c0c41b Add support for all 4 slots of G-REX 4000D and G-REX 1200. Also add
(untested yet) DMA support for G-REX bridges.
2012-07-11 17:13:30 +00:00
dsl
e44f893e2b Revert the rest of rev 1.6 2012-07-10 21:18:07 +00:00
rkujawa
0c335b5395 Don't enable wsmouse in a non-WSCONS kernel. 2012-07-09 19:42:14 +00:00
rkujawa
1289b24043 PR port-amiga/46672
Removed surpluss semicolon after if().
2012-07-09 19:34:56 +00:00
rkujawa
78370fcd4d Remove unused sc_dev. Thanks to cegger@. 2012-07-09 19:32:26 +00:00
rkujawa
efa7930ac2 Set user page table base address dynamically on amiga. This unbreaks machines
with large Zorro III I/O spaces. Patch originally by Michael L. Hitch.
Test on an A4000.
2012-07-09 19:23:45 +00:00
matt
789d060691 Add some e500mc/e5500 machines. 2012-07-09 17:58:34 +00:00
matt
dd01d67e95 Allow the use of the full 4GB address space. 2012-07-09 17:55:15 +00:00
matt
d2df93c65d Use pmap_segtab_t 2012-07-09 17:48:31 +00:00
matt
7f99503816 More cleanup. Use a union (pmap_segtab) and a typedef (pmap_segtab_t). Add
more functionality from the mips pmap and try to make it more common to ease
the transition for mips in the future.
2012-07-09 17:45:22 +00:00
matt
cc09c43882 Add hook so E500 watchdog can use a separate stack but leave it disabled by
default.
2012-07-09 17:36:55 +00:00
matt
4900712601 If we paniced because a watchdog timed out, PSL_CE will be clear. So don't
assert PSL_CE is set if panicstr is not NULL.
2012-07-09 11:40:19 +00:00
dsl
d222864098 The MDP_USEDFPU (amd64 and sh3) and MDP_SSTEP (sh3) are lwp flags not
process ones, rename to MDL_xxx.
2012-07-08 20:14:11 +00:00
skrll
5096b2578c Whitespace. 2012-07-07 08:06:51 +00:00
skrll
6a48cfb1c0 Convert a KASSERT to a KASSERTMSG 2012-07-07 08:05:48 +00:00
matt
f396289e32 s/seg_tab/seg_ptr/ 2012-07-05 17:25:36 +00:00
matt
466102b969 Change lockless segtab management to use a mutex for protection. Some minor
changes to make this closer to common/pmap/tlb/pmap_segtab.c
2012-07-05 17:21:02 +00:00
skrll
346c2c544e Fix locking botch introduced in 1.36. 2012-07-05 10:56:52 +00:00
kiyohara
df7c9c90af Don't call extent_free() in memio_unmap(), if not call extent_alloc() with
defined PPC_IBM4XX and extent_flags.
2012-07-05 03:02:53 +00:00
kiyohara
424a6d0beb Change read_eeprom(). We don't use bus_space(9) here. This is MD-part and,
don't support bus_space_unmap() to a space on reserved space?
2012-07-05 02:56:40 +00:00
skrll
a3fdc07986 Add a KASSERT 2012-07-04 13:34:24 +00:00
jdc
de43881a9a Appease gcc -Wuninitialized when cross-compiling on amd64. Problem noticed
by Hisashi Fujinaka on current-users.
2012-07-04 07:03:30 +00:00
abs
9560c9d7a4 Sync devices with GENERIC, and include bpfilter to allow dhcpcd to work 2012-07-03 22:42:47 +00:00
abs
bd1c4855ff All apply to vax only:
- Drop KERNFS from INSTALL kernel
- Add dmesg to sysinst ramdisk
- Add 'ramdisk' target to MAKEDEV and use
- Add dhcpcd to sysinst ramdisk
- Drop old install.md script
- Misc install image cleanup (reduce diff to zaurus of all things)
2012-07-03 21:49:55 +00:00
christos
3e56f3e419 no home-brewed NETBSDSRCDIR please (fix the build) 2012-07-03 21:07:41 +00:00
tsutsui
8c7e5abe07 Apply patch:
PR/46583: BIOS bootloader problems with partitions that start above 1TB

Should be pulled up to netbsd-6.
2012-07-03 15:24:37 +00:00
abs
36d6d3048d - Increase MAXPARTITIONS for vax from 8 to 16, using the standard NetBSD
mechanism to ensure all existing /dev nodes continue to work
- Adjust boot block layout to fit additional partitions
- Adjust number of inodes on install media
2012-07-02 22:42:18 +00:00
bouyer
03c9df05c6 Add sata Port MultiPlier (PMP) support to the ata bus layer,
as described in
http://mail-index.netbsd.org/tech-kern/2012/06/23/msg013442.html
PMP support in integrated to the atabus layer.
struct ata_channel's ch_drive[] is not dynamically allocated, and ch_ndrive
(renamed to ch_ndrives) closely reflects the size of the ch_drive[] array.
Add helper functions atabus_alloc_drives() and atabus_free_drives()
to manage ch_drive[]/ch_ndrives.
Add wdc_maxdrives to struct wdc_softc so that bus front-end can specify
how much drive they really support (master/slave or single).
ata_reset_drive() callback gains a uint32_t *sigp argument which,
when not NULL, will contain the signature of the device being reset.
While there, some cosmetic changes:
- added a drive_type enum to ata_drive_datas, and stop encoding the
  probed drive type in drive_flags (we were out of drive flags anyway).
- rename DRIVE_ATAPIST to DRIVE_ATAPIDSCW to better reflect what this
  really is
- remove ata_channel->ata_drives, it's redundant with the pointer in
  ata_drive_datas
- factor out the interpretation of SATA signatures in sata_interpet_sig()

propagate these changes to the ATA HBA drivers, and add support for PMP
to ahcisata(4) and siisata(4).

Thanks to:
- Protocase (http://www.protocase.com/) which provided a system
  with lots of controllers, SATA PMP and drive slots
- Conservation Genomics Laboratory, Department of Biology, New Mexico State
  University for hosting the above system
- Brook Milligan, who set up remote access and has been very responsive
  when SATA cable move was needed
2012-07-02 18:15:44 +00:00
jdc
231bfcd1e8 Increase the retry count in sparc64_send_ipi(), and add loops in
mp_pause_cpus() and mp_resume_cpus().
Fixes "RED State Exception" on an 8-way E3500, and allows it to enter and
leave DDB without failing to pause or resume one or more CPU's.
2012-07-02 15:40:33 +00:00
reinoud
d520097578 Fix missing <stdarg.h> include that breaks the autobuild 2012-07-02 12:17:12 +00:00
chs
4eb9a76aac in cpu_boot_secondary_processors(), wait until all the other CPUs
have registered themselves in kcpuset_running before returning.
recent changes to the TLB invalidation xcall code assume that
any CPU which will receive a broadcast IPI is registered in
kcpuset_running, so ensure that is true by waiting here.
2012-07-02 01:05:48 +00:00
jym
6f78ccc10d Use setter to set xenguest_handles. 2012-06-30 23:36:20 +00:00
rmind
de067e16be trap: move out info printing to trap_print() on amd64, reduce the differences
between amd64 and i386, add lowest kernel stack address.
2012-06-30 23:33:10 +00:00
jym
4b5a093d68 Extend the xpmap API, as described in [1]. This change is mechanical and
avoids exposing the MD phys_to_machine/machine_to_phys tables directly.
Added:

- xpmap_ptom handles PFN (pseudo physical) to MFN (machine frame number)
translations, and is under control of the domain.
- xpmap_mtop is its counterpart (MFN to PFN), and is under control of
hypervisor.

xpmap_ptom_map()      map a pseudo-phys address to a machine address
xpmap_ptom_unmap()    unmap a pseudo-phys address (invalidation)
xpmap_ptom_isvalid()  check for pseudo-phys address validity

The parameters are physical/machine addresses, like bus_dma/bus_space(9).
As x86 MFNs are tracked by u_long (Xen's choice) while machine addresses
can be 64 bits entities (PAE), use ptoa() to avoid truncation when bit
shifting by PAGE_SHIFT.

I kept the same namespace (xpmap_) to avoid code churn.

[1] http://mail-index.netbsd.org/port-xen/2009/05/09/msg004951.html

XXX will document ptoa/atop/trunc_page separately.
2012-06-30 22:50:36 +00:00
reinoud
e631798833 Move i386 and amd64 usermode configurations to their respective directories
and make the usermode kernels buildalbe under build.sh.

The resulting kernels are build and packaged correctly as are the associated
modules.
2012-06-30 15:03:56 +00:00
tsutsui
d1cc886ce4 Fix buffer overrun (off by one). PR port-atari/42717 2012-06-30 12:42:37 +00:00
tsutsui
72647cb972 Add a dirty hack for atari's ancient installation ramdisk:
Forcibly configure md0, md1, and md2 devices before setroot()
 for atari's traditional "auto-load from floppy on open" md_root device
 which loads installation ramdisk image from floppy.
 md(4) has been changed dynamically configured at first open after 5.0
 and md devices won't appear in "root device:" prompt without this hack.
Tested on TT030.

Should be pulled up to netbsd-6.
2012-06-30 10:37:00 +00:00
rkujawa
df72fa039f Obtain sc using device_private(), cosmetic changes. 2012-06-28 18:55:03 +00:00
tsutsui
cdf2f43563 Fix typo in __KERNEL_RCSID(). 2012-06-28 17:53:42 +00:00
matt
f892497c8e Don't panic if you can't allocate a contiguous stack for system threads.
Just use a mapped a stack.
2012-06-28 15:28:44 +00:00
abs
927d767b2b drop some blank lines - no functional change 2012-06-28 13:59:55 +00:00
abs
d58ef031eb dependent not dependend 2012-06-28 13:59:25 +00:00
abs
0a805bc0a7 Define and use VS_REGS_KA49 rather than magic numbers. From OpenBSD. 2012-06-28 13:58:21 +00:00
rkujawa
7f2c857092 Fix Mediator 1200 memory space support. Now it's good enough to drive a Voodoo 3. 2012-06-27 18:53:03 +00:00
jym
b6169c060b Retire XEN_COMPAT_030001 as detailed on port-xen@:
http://mail-index.netbsd.org/port-xen/2012/06/25/msg007431.html

The xen_p2m API comes next.

ok bouyer@.
Tested on i386 PAE and amd64 (Xen 3.3 on private test bed, and
Xen 3.4 for Amazon EC2).

FWIW, Amazon always reported:

hypervisor0 at mainbus0: Xen version 3.4.3-kaos_t1micro

multiple times for Europe and US West-1, so I guess they are now at
3.4 (32 and 64 bits).
2012-06-27 00:37:07 +00:00
macallan
6c4d0ceaeb switch to WSEMUL_VT100 to reduce differences with sparc64 and other wscons
and fb console using ports
WSEMUL_SUN is left in but commented out so whoever wants it back can have it
with minimal effort
2012-06-26 02:04:55 +00:00
reinoud
67d81114c7 Implement dummy `cpu_mcontext_validate' to make it compile again. This
function needs to be implemented in the target secton one day for extra
security.
2012-06-25 14:43:54 +00:00
isaki
9cdd524924 Rewrite fpu_int().
Especially, remove the special treatment when |x| < 1
because it forgets to consider FPCR round mode.
See PR/46627 for the detail.  Thanks Y.Sugahara for advice.
2012-06-25 04:52:23 +00:00
jym
23a2531c0e Enable the map/unmap recursive mapping functions for all Xen ports for
save/restore.

For an unknown reason (to me) Xen refuses to update VM translations
when the entry is pointing back to itself (which is precisely
what our recursive VM model does). So enable the functions that take
care of this, which will avoid all sort of memory corruption upon restore
leading domU to trample upon itself.

Save/restore works again for amd64. The occasional domU frontend corruption is
still present, but is harmless to dom0. Now we have a working shell and
ddb inside domU, that helps debugging a tiny bit.

XXX pull-up to -6.
2012-06-24 18:31:52 +00:00