Commit Graph

97309 Commits

Author SHA1 Message Date
bjs
8b2e3ec035 Use agp_flush_cache() instead of wbinvd(). 2008-11-09 14:26:14 +00:00
cegger
32c1f8c732 Nuke last parameter from mpaci_scan_apics() and mpbios_scan().
It is unused.
2008-11-09 14:24:14 +00:00
pgoyette
7355d18b97 Leave the task of displaying sensor states to envsys_sysmon() unless we
are in debug mode.
2008-11-09 13:54:06 +00:00
bouyer
5da863e7e9 Assert that bp->b_error == 0 if all data have been transfered in
physio_biodone(). We have more chance to have the fauly code in the
stack trace when doing the check here than in physio_done().
2008-11-09 12:18:07 +00:00
cliff
fe95ceb60e these kernel configs are lmeant to be used to create flashable memory disk rooted
embedded kernels using non-SMP master/slave dual core division of resources.
still very much in progress at this time.
2008-11-09 09:39:18 +00:00
cliff
443abea81b - use option GEMINI_MASTER to pick up clock, icu
- ATADEBUG now here but commented out
- deconfigure timer#1 now that system clock and stat clock are combined
- add umass and wd for use w/ ehci
- uncomment wdc0, wd1; add atabus and wd* for use w/ wdc
- warning the gzipped binary GEMINI kernel image will not fit  in a 1MB flash area, even gzipped
2008-11-09 09:36:08 +00:00
cliff
bd4b8f9765 - add autoconfig support for wdc at Gemini obio
- add autoconfig support for com type UART on IT8712 superio chip
  attached at lpc bus at lpc host controller at Gemini obio.
2008-11-09 09:19:44 +00:00
cliff
2842dccfaa preliminary support for com type UART in IT8712 superio chip
attached at LPC bus at Gemini LPC Host Controller at obio on Gemini.
2008-11-09 09:15:42 +00:00
cliff
3100fdac39 - we are combining stat and system clocks to use the same timer
the master and slave CPU each get one timer for those functions;
  both CPUs can use the free-running ref timer;
  it is initialized by CPU#0 and after that all access is read-only
- use correct OBIO_*_DEFAULT locator indicies
2008-11-09 09:11:09 +00:00
cliff
694f117a78 - use #if NPCI > 0 arond pci stuff so we can compile when pci is not configured
- in critical_devs[], divide up timers attachment between master and slave CPUs
  and provide icu#1 attachment for slave cpu
2008-11-09 09:04:33 +00:00
cliff
6a1577ee20 autoconfig glue for wdc at obio on Gemini 2008-11-09 08:59:05 +00:00
cliff
fcb80bc9f2 - we are combining stat and system clocks, so STATHZ is now HZ 2008-11-09 08:56:47 +00:00
cliff
7a2b04a933 - GEMINI_LPCP_BASE is renamed GEMINI_LPCIO_BASE
- add some minimal Gemini GLOBAL reg defines
- add Gemini LPC Host Controller reg defines
- add Gemini MIDE Controller reg defines
2008-11-09 08:54:46 +00:00
cliff
ed27a42072 - initarm progress putchars and printfs are now #ifdef VERBOSE_INIT_ARM
- use GEMINI_SLAVE, GEMINI_MASTER defines to distinguish between
  primary and secondary CPUs, who owns what devices, etc.
- add short delay()s to allow console printf output to drain before reset
  unless if ref_sc is not yet initialized, in which case tough.
- add devmap entriy for LPC
- add devmap entry for RAMDISK if MEMORY_DISK_DYNAMIC is defined
  i.e. if the ramdisk is external to the kernel, in which case
  we "know" where is lives by agreement with firmware.
- call md_root_setconf() if MEMORY_DISK_DYNAMIC is defined
2008-11-09 08:49:40 +00:00
cliff
a80e63a8a0 add defines for LPC and RAMDISK VADDRs for use in devmap 2008-11-09 08:40:59 +00:00
cliff
8e3f3d7b7b those progress putchars are now #ifdef VERBOSE_INIT_ARM 2008-11-09 08:39:31 +00:00
abs
66b0aa634e Regenerate from GENERIC.in 1.75
Enable 68060 support in FALCON & BOOTX kernels for CT60/63 upgrades
Drop KERNFS from INSTALL kernels
Drop 68040 support from ATARITT kernels
2008-11-09 07:50:39 +00:00
abs
0282f5b26e Enable 68060 support in FALCON & BOOTX kernels for CT60/63 upgrades
Drop KERNFS from INSTALL kernels
Drop 68040 support from ATARITT kernels
2008-11-09 07:49:59 +00:00
tsutsui
9f2a500c35 Make compile this with options DIAGNOSTIC. 2008-11-09 07:01:42 +00:00
pgoyette
18913ef363 Temp sensor should report a critical-overtemp condition (ENVSYS_SCRITOVER)
not a simple critical (ENVSYS_SCRITICAL) condition.
2008-11-09 03:36:04 +00:00
christos
4c2b1bf33a PR/39885: Sébastien Bocahu: add R500 chips support 2008-11-09 02:35:42 +00:00
christos
2688948f51 regen. 2008-11-08 17:27:15 +00:00
christos
71ede8ab96 Support for Intel G35 as found on Asus P5E-VM HDMI motherboard from
Milos Negovanovic
2008-11-08 17:26:28 +00:00
he
ddda8f3c69 Bump install ramdisk image size from 1440k to 1500k, so that it fits again.
The install kernel is subsequently compressed, so there should be nothing
magic about the 1440k constant.
2008-11-08 10:24:23 +00:00
he
22d492ac84 Adapt to changes in arm/arm32/mem.c -- use a mutex to control
access to DEV_MEM.  OK'ed by matt.
2008-11-08 10:18:10 +00:00
cliff
583e22f8aa remove (unused) KERNEL_BASE_EXT option 2008-11-08 09:42:46 +00:00
cliff
15bc29b700 on-chip gemini uart is a COM_TYPE_16550_NOERS 2008-11-08 09:39:27 +00:00
cliff
56126c94ae use correct OBIOCF_*_DEFAULT locator values 2008-11-08 09:37:13 +00:00
dyoung
8e791deb98 To finish the device_t/softc split, convert some casts to struct
auich_softc * to device_private() calls.
2008-11-08 00:26:35 +00:00
cegger
83fde857cc buildfix: use PRIxPTR rather %lx. 2008-11-07 19:50:00 +00:00
he
761f38db5c In wsdisplay_kbdholdscreen(), just return if sc->sc_focus is NULL.
There is apparently no guarantee sc->sc_focus will be non-NULL,
as proved by a crash I experienced earlier today (admittedly on 4.0.1).
2008-11-07 19:33:13 +00:00
rafal
dd332648f3 Let hpcboot load kernels linked with PA != VA; use the PA addresses specified
instead of the VA addresses.  Should make no difference for kernels where the
physical and virtual addresses are the same.
2008-11-07 16:28:26 +00:00
rafal
dba38eab03 Explicitly set LOADADDR of bss/sbss so naiive bootloaders (cough, hpcboot)
can deal with the BSS/SBSS of kernels linked with PA != VA.
2008-11-07 16:23:58 +00:00
rafal
9a83d246e7 Make stray interrupt handler get the minimum IRQ number based on the current
CPU type vs. hardcoding it for pxa270.
2008-11-07 16:14:37 +00:00
rafal
155980bdb0 Remove parameter checks from under DEBUG; bad gpio pin numbers will cause
the kernel to fall over rather quickly anyway with memory faults, so a panic
with a hint as to what's wrong seems much better.
2008-11-07 16:13:16 +00:00
joerg
866b295da8 Match image name with upstream distfiles. 2008-11-07 14:58:27 +00:00
rafal
ca70a1c015 Pass / log return address in a few more places; proposed on tech-kern and
ok'd by ad@ about 6 months ago.
2008-11-07 02:40:35 +00:00
dyoung
de87fe677d *** Summary ***
When a link-layer address changes (e.g., ifconfig ex0 link
02🇩🇪ad:be:ef:02 active), send a gratuitous ARP and/or a Neighbor
Advertisement to update the network-/link-layer address bindings
on our LAN peers.

Refuse a change of ethernet address to the address 00:00:00:00:00:00
or to any multicast/broadcast address.  (Thanks matt@.)

Reorder ifnet ioctl operations so that driver ioctls may inherit
the functions of their "class"---ether_ioctl(), fddi_ioctl(), et
cetera---and the class ioctls may inherit from the generic ioctl,
ifioctl_common(), but both driver- and class-ioctls may override
the generic behavior.  Make network drivers share more code.

Distinguish a "factory" link-layer address from others for the
purposes of both protecting that address from deletion and computing
EUI64.

Return consistent, appropriate error codes from network drivers.

Improve readability.  KNF.

*** Details ***

In if_attach(), always initialize the interface ioctl routine,
ifnet->if_ioctl, if the driver has not already initialized it.
Delete if_ioctl == NULL tests everywhere else, because it cannot
happen.

In the ioctl routines of network interfaces, inherit common ioctl
behaviors by calling either ifioctl_common() or whichever ioctl
routine is appropriate for the class of interface---e.g., ether_ioctl()
for ethernets.

Stop (ab)using SIOCSIFADDR and start to use SIOCINITIFADDR.  In
the user->kernel interface, SIOCSIFADDR's argument was an ifreq,
but on the protocol->ifnet interface, SIOCSIFADDR's argument was
an ifaddr.  That was confusing, and it would work against me as I
make it possible for a network interface to overload most ioctls.
On the protocol->ifnet interface, replace SIOCSIFADDR with
SIOCINITIFADDR.  In ifioctl(), return EPERM if userland tries to
invoke SIOCINITIFADDR.

In ifioctl(), give the interface the first shot at handling most
interface ioctls, and give the protocol the second shot, instead
of the other way around. Finally, let compatibility code (COMPAT_OSOCK)
take a shot.

Pull device initialization out of switch statements under
SIOCINITIFADDR.  For example, pull ..._init() out of any switch
statement that looks like this:

        switch (...->sa_family) {
        case ...:
                ..._init();
                ...
                break;
        ...
        default:
                ..._init();
                ...
                break;
        }

Rewrite many if-else clauses that handle all permutations of IFF_UP
and IFF_RUNNING to use a switch statement,

        switch (x & (IFF_UP|IFF_RUNNING)) {
        case 0:
                ...
                break;
        case IFF_RUNNING:
                ...
                break;
        case IFF_UP:
                ...
                break;
        case IFF_UP|IFF_RUNNING:
                ...
                break;
        }

unifdef lots of code containing #ifdef FreeBSD, #ifdef NetBSD, and
#ifdef SIOCSIFMTU, especially in fwip(4) and in ndis(4).

In ipw(4), remove an if_set_sadl() call that is out of place.

In nfe(4), reuse the jumbo MTU logic in ether_ioctl().

Let ethernets register a callback for setting h/w state such as
promiscuous mode and the multicast filter in accord with a change
in the if_flags: ether_set_ifflags_cb() registers a callback that
returns ENETRESET if the caller should reset the ethernet by calling
if_init(), 0 on success, != 0 on failure.  Pull common code from
ex(4), gem(4), nfe(4), sip(4), tlp(4), vge(4) into ether_ioctl(),
and register if_flags callbacks for those drivers.

Return ENOTTY instead of EINVAL for inappropriate ioctls.  In
zyd(4), use ENXIO instead of ENOTTY to indicate that the device is
not any longer attached.

Add to if_set_sadl() a boolean 'factory' argument that indicates
whether a link-layer address was assigned by the factory or some
other source.  In a comment, recommend using the factory address
for generating an EUI64, and update in6_get_hw_ifid() to prefer a
factory address to any other link-layer address.

Add a routing message, RTM_LLINFO_UPD, that tells protocols to
update the binding of network-layer addresses to link-layer addresses.
Implement this message in IPv4 and IPv6 by sending a gratuitous
ARP or a neighbor advertisement, respectively.  Generate RTM_LLINFO_UPD
messages on a change of an interface's link-layer address.

In ether_ioctl(), do not let SIOCALIFADDR set a link-layer address
that is broadcast/multicast or equal to 00:00:00:00:00:00.

Make ether_ioctl() call ifioctl_common() to handle ioctls that it
does not understand.

In gif(4), initialize if_softc and use it, instead of assuming that
the gif_softc and ifp overlap.

Let ifioctl_common() handle SIOCGIFADDR.

Sprinkle rtcache_invariants(), which checks on DIAGNOSTIC kernels
that certain invariants on a struct route are satisfied.

In agr(4), rewrite agr_ioctl_filter() to be a bit more explicit
about the ioctls that we do not allow on an agr(4) member interface.

bzero -> memset.  Delete unnecessary casts to void *.  Use
sockaddr_in_init() and sockaddr_in6_init().  Compare pointers with
NULL instead of "testing truth".  Replace some instances of (type
*)0 with NULL.  Change some K&R prototypes to ANSI C, and join
lines.
2008-11-07 00:20:01 +00:00
joerg
220377354c Don't use do {} while(0) for a single function call. 2008-11-07 00:15:42 +00:00
joerg
ecbfc2933c Remove XXXUBC code for ffs_reallocblks, that has been conditionalized in
2002 and #if 0'ed in 2005. It would need a considerable amount of work
to bring back and obscures the more important block allocation.
2008-11-06 22:31:08 +00:00
macallan
9263b0c23b add a couple more registers 2008-11-06 22:16:03 +00:00
macallan
61277fe87d install crmfbreg.h 2008-11-06 22:15:39 +00:00
cegger
4b9b87ae5b Link cpus in the order they are attaching and not in inverse order. 2008-11-06 19:29:46 +00:00
cegger
1f7782b4ba wrap lines. no functional change. 2008-11-06 17:50:59 +00:00
abs
96dc40fee6 Add the following note to README:
Please commit changes to 'GENERIC.in' and other source files *first*, then
 run 'makeconf' and commit the generated files to ensure the 'Created from:'
 tags are correct.

Then follow it. Noted by tsutsui@
2008-11-06 17:12:20 +00:00
rmind
9d3a4ed2de cpuctl_ioctl: use cpu_index(), instead of cpuid.
Fixes cpuctl(8) on some processors.
2008-11-06 16:48:51 +00:00
blymn
3286a94bad Move init of essid to the attach code. 2008-11-06 12:03:43 +00:00
darrenr
552614e264 38456 ipf mostly ignores locking in NetBSD 2008-11-06 09:51:57 +00:00
darrenr
60886a044c 38456 ipf mostly ignores locking in NetBSD
...plus some cleanup of fastroute code.
2008-11-06 09:49:59 +00:00
dyoung
41215a0ab5 Use DVUNIT_ANY instead of the anonymous constant -1. 2008-11-06 03:40:04 +00:00