configuration space writes, with a goal that was also previously
described by Ryan:
"Permissive mode should only be used as a fall back for unknown
devices.
I think the correct solution for dealing with these device-specific
configuration space registers is to identify them and add the
device-specific fields to the overlay. This patch adds a special
configuration space handler for network cards based on the tg3 linux
network device driver. This handler should allow for reads/writes to
all of the configuration space registers that the tg3 driver requires."
This patch attempts to address concerns with Ryan's original
submission by moving policy from the dom0 kernel into dom0 user-space.
As new quirky devices emerge they can be incorporated into the user-space
policy. An added benefit is that changes to the policy are effective
for domains created after the changes are written (no need rebuild the
hypervisor or restart xend).
Signed-off-by: Chris Bookholt <hap10@tycho.ncsc.mil>
The connection status to the frontend can be represented using
netif_carrier_ok instead of netif->active. As a result, we delay
the construction of the dev qdisc until the carrier comes on. This
is a prerequisite for adding a tx queue.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Tasklets have the property that each one is running on only one CPU at
any time. This means that you don't have to worry about the tasklet
racing against itself. Therefore any resources used by just a single
tasklet does not need to be guarded by locks.
Since net_rx_action is the only user of alloc_mfn, we can remove the
mfn_lock that guard it.
The notify_list array is huge by Linux standards so placing it on the
stack is unsafe. Since net_rx_action is not re-entrant, we can simply
make it static.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
timers. Fix Xen so that it does not immediately fire a timer event if
it sees a very long timeout -- sometimes this means that there are
no pending timers.
Signed-off-by: Keir Fraser <keir@xensource.com>
Batch page table updates and fold TLB flush into last one, reducing
number of hypercalls made from ((# of pages) + 1) to just 1.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
This patch supports domU coredump on ia64. xen_panic_event() is
registered to panic_notifier_list, and xen_panic_event() calls
HYPERVISOR_shutdown(SHUTDOWN_crash) at panic time.
If xend is notified of crash status, xend calls dumpCore()
and create domU's core in /var/xen/dump.
For sample crash module and usage, see:
http://lists.xensource.com/archives/html/xen-ia64-devel/2006-07/msg00230.html
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
[minor code re-arrangement]
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
paravirtualize vdso areabased on Kevin's pointout and Dan's Idea.
introduce hyperprivop HYPERPRIVOP_RSM_BE and HYPERPRIVOP_GET_PSR.
and paravirtualize vdso area using them.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xc_ia64_linux_save.c and xc_ia64_linux_restore.c added.
vcpu context has more registers and states (eg: tr registers).
Per cpu irqs are deallocated when cpu is switched off.
#if/#endif added in reboot.c for ia64.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
Currently, passive domain samples are being assigned to the wrong
kernel functions. This patch fixes this problem. In addition the patch changes the
encoding of domain switch ESCAPE codes (marks used to separate samples
in oprofile buffers associated with different domains). Instead of
using 2 codes, one for START and one for END of passive domain
samples, a single escape CODE value is used to indicate a domain switch (no
need for a STOP followed by a START). Finally there some other minor style
fixes.
Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
Here is the original changelog:
[NET] gso: Fix up GSO packets with broken checksums
Certain subsystems in the stack (e.g., netfilter) can break the
partial
checksum on GSO packets. Until they're fixed, this patch allows
this to
work by recomputing the partial checksums through the GSO
mechanism.
Once they've all been converted to update the partial checksum
instead of
clearing it, this workaround can be removed.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
It must be protected by tty_sem semaphore like con_close() in
drivers/char/vt.c. and prevent re-opening this tty.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Keir Fraser <keir@xensource.com>
DOM0_GETMEMLIST now reads ptes and use gpfn.
Domain builder reworked: calls DOMAIN_SETUP, setup start_info page.
SAL data are now in domain memory.
is_vti field added in domain.arch.
Many cleanups (indentation, static, warnings).
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
This is the IA64 counter part of the C/S
10563:a75c1bdfe76146ad591574d805be5be0a3098d2a of xen-unstable.hg
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
When we reconnect to the backend we need to first zero all negotiated
bits as the functions xen_set_sg and xen_set_tso do not (and are not
supposed to) zero bits when they fail to set them.
This patch also permanently enables the NETIF_F_GSO_ROBUST bit as we
never parse any GSO fields ourselves (even if we did the backend could
not trust us so it's wasted effort).
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This patch adds the as-yet unused GSO features which will contain
protocol-independent bits such as the ECN marker.
It also makes the backend check gso_size to ensure that it is non-zero.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
The generalised extra request info patch introduced a bug with the use
of netbk_tx_err since it advanced the req_cons pointer by one. This
patch fixes thing by delaying the increment in netbk_tx_err.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Attached patch makes it always create valid devices on tty1-tty63, but
all but the one specified by xencons are dummy devices.
From: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
The new method for printing unconnected device status is arguably
cleaner and also does not screw up reference counts (previous code
called bus_find_device() with no put_device() on the result.
Signed-off-by: Keir Fraser <keir@xensource.com>
However xchg of IA64 has acquire semantics so that event
channel notification is lost sometimes. This patch fixes it.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>