Commit Graph

84 Commits

Author SHA1 Message Date
yamt
897bdba2b9 implement a simple NETTXF_csum_blank/NETRXF_csum_blank workaround
so that we can talk with linux guests at least.
just fill checksum field of received packets if the flag is set.
maybe should be revisited later.
2006-07-12 15:02:15 +00:00
christos
cfa1686dee include files.apm 2006-07-09 01:59:42 +00:00
bouyer
b96fedac26 block device backend driver for Xen3. Add
pseudo-device xbdback
in your config file to use.
2006-07-02 16:35:24 +00:00
bouyer
85cd924c0e Remove unused file. Pointed out by Pavel Cahyna.
Probably unused since kernel config files were moved to i386/conf.
2006-05-28 17:14:59 +00:00
pavel
ad560fa074 Give Xen its own linker script, which does not set the physical load address
specially. In Xen, the system is already in virtual mode when the kernel is
started, so the old behavior of setting physical address to virtual address
was actually correct, and the previous change made NetBSD/Xen kernels
unbootable.

Pointed out, explained and tested by <bouyer>.
2006-05-28 14:00:13 +00:00
bouyer
159a19cf73 Always include xen_shm_machdep.c for Xen3, theorically a domU could also
provide backend services to other domains.
2006-05-25 21:27:40 +00:00
bouyer
b06932d37f Add a network backend driver for Xen3. This will appear as a xvif pseudo
device in kernel config files.
2006-05-23 21:10:42 +00:00
elad
8ccb6c9341 integrate kauth. 2006-05-14 21:55:09 +00:00
bouyer
aab0004b68 Add support for ACPI in xen-3 dom0 support. We can now boot a xen-3 dom0
kernel with a default xen comamnd line.
2006-04-09 19:28:00 +00:00
gdamore
75670ddc44 Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.
2006-04-04 03:13:12 +00:00
gdamore
9a2b9dd63b Reorganize ath layout as requested by sam@ and suggested by dyoung@ in
http://mail-index.netbsd.org/tech-net/2006/03/15/0000.html.

The new layout almost precisely matches FreeBSD, and should make
future imports much easier.

At the same time, import the current 0.9.16.16 HAL from FreeBSD.  According
to sam@, this is the proper version we should be using.
2006-04-02 05:52:14 +00:00
bouyer
6596b3c534 Add a block device frontend driver for Xen-3. xbd at hypervisor now
attaches with xbd_hypervisor, adjust CFATTACH_DECL().
2006-03-19 00:36:09 +00:00
dyoung
fe756b012b config(8) creates opt_ah.h, no need to do so here. 2006-03-08 17:06:07 +00:00
bouyer
be18814951 Fix build issues that didn't show up in my private tree. 2006-03-06 22:04:18 +00:00
bouyer
2e3fa7a73a Add a Xen Virtual Network device driver for Xenbus. 2006-03-06 20:36:12 +00:00
bouyer
60d4a96e28 pull in the grant table and Xenbus interfaces, and attach xenbus at hypervisor. 2006-03-06 20:34:09 +00:00
he
483f1a7d27 Before symlinking opt_ah.h, make sure the target doesn't already exist.
This fixes a build problem with UPDATE set.
2006-03-03 14:55:14 +00:00
tron
cbb0e8c88b Share Intel hardware random number generator support between amd64 and
i386 port. This will benefit EM64T systems using Intel i9xx chipsets.
2006-02-12 18:16:01 +00:00
bouyer
8f162b7ed8 Snapshot of work in progress on NetBSD port to Xen3:
- kernel (both dom0 and domU) boot, console is functionnal and it can starts
  software from a ramdisk
- there is no driver front-end expect console for domU yet.
- dom0 can probe devices and ex(4) work when Xen3 is booted without acpi
  and apic support. But the on-board IDE doens't get interrupts.
  The PCI code still needs work (it's hardcoded to mode 1). Some of this
  code should be shared with ../x86
  The physical insterrupt code needs to get MPBIOS and ACPI support, and
  do interrupt routing to properly interract with Xen.
To enable Xen-3.0 support, add
options XEN3
to your kernel config file (this will disable Xen2 support)
Changes affecting Xen-2.0 support (no functionnal changes intended):
- get more constants from genassym for assembly code
- remove some unneeded registers move from start()
- map the shared info page from start(), and remove the pte = 0xffffffff hack
- vector.S: in hypervisor_callback() make sure %esi points to
  HYPERVISOR_shared_info before accessing the info page. Remplace some
  hand-written assembly with the equivalent macro defined in frameasm.h
- more debug code, dissabled by default.

while here added my copyright on some files I worked on in 2005.
2006-01-15 22:09:51 +00:00
jmmv
eb23406894 Add a 'struct bootinfo' to represent the bootinfo structure used in the
kernel by x86 platforms (instead of a simple char *).  This way, the code
in, e.g., lookup_bootinfo, is a bit easier to understand.

While here, move the lookup_bootinfo function used in x86 platforms (amd64,
i386 and xen) to a common file (x86/x86_machdep.c), as it was exactly the
same in all of them.
2005-12-30 13:37:57 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
bouyer
c59d1285cc Sync with i386/conf/GENERIC:
- add a buch of PCI storage devices
- add firewire devices
- add some missing PCI network devices
- add serial and parallel PCI adapters
- add lpt0 at isa
- add com1 at isa
  com0 not added for the benefit of serial console users (it will conflicts
  with the Xen kernel).
XXX this means that setups with serial console on com1 will now break with the
default kernel.
Use userconf(4) (add -c to kernel command line) or change your setup to
com0 instead (most bios allows arbitrary mappings of com ports)
2005-11-21 22:15:13 +00:00
yamt
06cf1c7649 copy.S should belong to MD_SFILES, not MD_CFILES. 2005-11-08 01:02:39 +00:00
yamt
443e88c5cf some assym cleanup.
- move copyin and friends from locore.S to their own file, copy.S.
  share it between i386 and xen.
- defparam KERNBASE and kill KERNBASE_LOCORE hack.
- add more symbols to assym.h and use it where appropriate.
2005-11-07 11:42:34 +00:00
yamt
7e71f567e4 include "conf/std". 2005-09-17 09:44:05 +00:00
bouyer
d342a7617e Define a xendevbus atttibute and add it to hypervisor. Use it for xen devices
which attach to hypervisor. This allows to use config_found_ia() instead of
config_found(), instead of relying on the order of which device are
written in ioconf.c.
From Quentin Garnier.
2005-08-21 22:20:28 +00:00
bouyer
0944c0fa9d Deal with the machine address space being non-contigous in bus_dmamem_alloc():
- Define _BUS_AVAIL_END to 0xffffffff, as we don't have an easy way to
  find the upper bound for our machine address space (and this can change
  when we swap pages with the hypervisor).
- implement _xen_bus_dmamem_alloc_range(), which will request a contigous
  set of pages to the hypervisor if the pages returned by uvm_pglistalloc()
  don't fit the constraints.
We can't deal with the low/high constraints yet, because Xen doesn't offer a
way to get pages in a specific ranges of addresses.

Based on patches from Dave Thompson (in private mail), with heavy hacking
by me.
2005-08-20 19:30:37 +00:00
bouyer
fa7d49200e Make PCI devices usable for non-domain0 kernels. Based on patches sent by
Ceri Storey to port-xen, with some additionnal changes by me:
- include bus_dma.c, bus_space.c and pci_machdep.c if pci is defined
  instead of dom0ops
- Make various initialisations, and probe/attach pci busses based on NPCI
  instead of DOM0OPS
- in conf/files.xen, move xen-specific devices before non-xen specific devices
  so that the xen-specific match function is called first, to avoid false
  attachement from too liberal match function in non-xen code.
2005-08-19 16:06:12 +00:00
yamt
cdc5b954fc include cardbus/pcmcia.
XXX 32bit cards don't work due to the way how xen handles
pci configuration space.
2005-07-15 07:56:22 +00:00
yamt
73a032cf90 create opt_pcifixup.h to match with the recent i386 change. 2005-06-28 12:01:11 +00:00
dyoung
7a7b273b60 Don't include files.ath any more, it's disappeared. 2005-06-25 23:09:54 +00:00
dyoung
9063402978 Resolve conflicts in importation of 18-May-2005 ath(4) / net80211(9)
from FreeBSD.  Introduce compatibility shims (sys/dev/ic/ath_netbsd.[ch],
sys/net80211/ieee80211_netbsd.[ch]).  Update drivers (an, atu, atw,
awi, ipw, iwi, rtw, wi) for the new net80211(9) API.
2005-06-22 06:14:51 +00:00
chs
b36d2dee68 copy the athhal glue from Makefile.i386. 2005-06-19 20:28:14 +00:00
chs
187b985918 add ath stuff. 2005-06-19 20:22:26 +00:00
bouyer
15ce68ccd1 Allow compiling a domain0 kernel with vga but without pckbc, and add
console support for USB keyboard. Problem pointed out by Karl Janmar on
port-xen.
2005-06-16 10:58:52 +00:00
sjg
aa7b975acd Sometimes .BEGIN target is not wanted - eg in sub-make's. 2005-06-07 18:11:34 +00:00
christos
f6b4c20f18 s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name. 2005-05-31 04:03:08 +00:00
yamt
4657218e21 arch/i386/i386/linux_trap.c -> arch/x86/x86/linux_trap.c 2005-05-16 12:05:50 +00:00
bouyer
367b093823 Add sysmon_power attribute to hypervisor, and an handler for CMSG_SHUTDOWN
messages.
Now a NetBSD guest will reboot or shutdown on 'xm shutdown' commands in
domain0.
2005-04-18 21:33:21 +00:00
bouyer
b8171ad79a Remove
xenkbc at hypervisor
vga at hypervisor
they have been obsoleted by PCI and ISA support, and don't compile any more.
2005-04-17 14:44:14 +00:00
yamt
fb4a1ff192 tweak x86 bus_dma code so that it can be used by xen port.
- distinguish paddr_t and bus_addr_t.
  for xen, use bus_addr_t in the sense of machine address.
- move _X86_BUS_DMA_PRIVATE part of bus.h into bus_private.h.
- remove special handling of xen_shm.  we can always grab
  machine address from pte.
2005-04-16 07:53:35 +00:00
bouyer
d8ac66d8b5 Move Xen kernel config files to arch/i386, so that they can be added to
the i386 release process. Make them include archi/i386/conf/GENERIC.local,
like other i386 GENERIC and INSTALL files.
2005-03-11 20:48:24 +00:00
bouyer
b3de8f0978 Define xen devices in i386/conf/majors.i386. This makes sure there won't
be conflics with regular i386 kernels.
2005-03-11 20:44:37 +00:00
bouyer
153285b0bd Properly define NISA and NPCI; cleanup use of NISA and NPCI. 2005-03-11 20:39:39 +00:00
xtraeme
3c451cf142 Now that GENERIC* kernels are removed, remove references. 2005-03-09 23:24:50 +00:00
bouyer
e9666f30ad Merge the bouyer-xen2 branch. This add supports for the Xen 2.0 virtual
machine kernel (both privileged and non-privileged domains), and remove support
for the old xen 1.2.
2005-03-09 22:39:19 +00:00
simonb
ff8f0b23c9 Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
2005-02-25 13:46:48 +00:00
dsl
1122e62a52 Add FFS_NO_SNAPSHOT - commented out in XEN 2005-02-18 21:12:36 +00:00
dsl
4822cbaae2 Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT 2005-02-18 21:05:50 +00:00
dsl
05e2f6ebdb Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
2005-02-11 08:25:53 +00:00