summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Delange <julien.delange@gmail.com>2012-03-26 09:51:49 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2012-03-26 09:51:49 -0500
commita52104cf463a461f6fcccd2cc6b11bd6691908c8 (patch)
tree31a617ce2a74d3e799bd95fd634332f20347583f
parentUse new block device API (diff)
downloadrtems-libbsd-a52104cf463a461f6fcccd2cc6b11bd6691908c8.tar.bz2
e1000 driver now compiles with fewer modifications
- Change some include path in the e1000 drivers - Add some files from the FreeBSD source tree (modification in freebsd-to-rtems.py) - Avoid inconsistent functions declarations: the bool_t and/or boolean_t are not the same between rtems and freebsd so that a function with the prototype bool_t foobar() and another boolean_t foobar() does not compile on rtems. (see if_igb.c for example) Joel Note: These are still inconsistent on the FreeBSD side and need to be addressed by them. We will just make the prototype match the body until they give us a solution.
-rwxr-xr-xfreebsd-to-rtems.py11
-rw-r--r--freebsd/dev/e1000/e1000_80003es2lan.c6
-rw-r--r--freebsd/dev/e1000/e1000_82540.c6
-rw-r--r--freebsd/dev/e1000/e1000_82541.c6
-rw-r--r--freebsd/dev/e1000/e1000_82542.c6
-rw-r--r--freebsd/dev/e1000/e1000_82543.c6
-rw-r--r--freebsd/dev/e1000/e1000_82571.c6
-rw-r--r--freebsd/dev/e1000/e1000_82575.c6
-rw-r--r--freebsd/dev/e1000/e1000_api.c6
-rw-r--r--freebsd/dev/e1000/e1000_api.h6
-rw-r--r--freebsd/dev/e1000/e1000_hw.h40
-rw-r--r--freebsd/dev/e1000/e1000_ich8lan.c6
-rw-r--r--freebsd/dev/e1000/e1000_mac.c6
-rw-r--r--freebsd/dev/e1000/e1000_manage.c6
-rw-r--r--freebsd/dev/e1000/e1000_mbx.c6
-rw-r--r--freebsd/dev/e1000/e1000_mbx.h6
-rw-r--r--freebsd/dev/e1000/e1000_nvm.c6
-rw-r--r--freebsd/dev/e1000/e1000_osdep.c6
-rw-r--r--freebsd/dev/e1000/e1000_osdep.h2
-rw-r--r--freebsd/dev/e1000/e1000_phy.c6
-rw-r--r--freebsd/dev/e1000/e1000_vf.c8
-rw-r--r--freebsd/dev/e1000/e1000_vf.h14
-rw-r--r--freebsd/dev/e1000/if_em.c12
-rw-r--r--freebsd/dev/e1000/if_igb.c23
-rw-r--r--freebsd/dev/e1000/if_lem.c10
-rw-r--r--freebsd/dev/led/led.h21
-rw-r--r--freebsd/kern/init_main.c2
-rw-r--r--freebsd/kern/kern_subr.c5
-rw-r--r--freebsd/machine/pcb.h1
-rw-r--r--freebsd/machine/vm.h1
-rw-r--r--freebsd/vm/pmap.h1
-rw-r--r--freebsd/vm/vm.h152
-rw-r--r--testsuite/usb01/Makefile2
33 files changed, 288 insertions, 119 deletions
diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py
index aeb5ba00..aa992ee4 100755
--- a/freebsd-to-rtems.py
+++ b/freebsd-to-rtems.py
@@ -474,7 +474,7 @@ rtems_headerFiles = [
'rtems/machine/mutex.h',
'rtems/machine/param.h',
'rtems/machine/pcpu.h',
- #'rtems/machine/pmap.h',
+ 'rtems/machine/pmap.h',
'rtems/machine/proc.h',
'rtems/machine/resource.h',
'rtems/machine/runq.h',
@@ -488,7 +488,6 @@ rtems_headerFiles = [
'rtems/machine/rtems-bsd-sysinit.h',
'rtems/machine/rtems-bsd-select.h',
'rtems/machine/rtems-bsd-taskqueue.h',
- #'rtems/machine/vm.h',
'bsd.h',
]
rtems_sourceFiles = [
@@ -1033,7 +1032,7 @@ devUsbBase.addHeaderFiles(
'vm/uma.h',
'vm/uma_int.h',
'vm/uma_dbg.h',
- #'vm/vm.h',
+ 'vm/vm.h',
#'vm/vm_page.h',
'fs/devfs/devfs_int.h',
]
@@ -1089,6 +1088,7 @@ devNet.addHeaderFiles(
'dev/mii/miivar.h',
'dev/mii/brgphyreg.h',
'dev/mii/icsphyreg.h',
+ 'dev/led/led.h',
'net/bpf.h',
'net/ethernet.h',
'net/if_arp.h',
@@ -1954,6 +1954,7 @@ mm.addEmptyFiles(
'machine/elf.h',
'machine/sf_buf.h',
'machine/smp.h',
+ 'machine/vm.h',
#'machine/vmparam.h',
'local/opt_bce.h',
'local/opt_ntp.h',
@@ -1981,7 +1982,7 @@ mm.addEmptyFiles(
'sys/_timeval.h',
#'sys/vmmeter.h',
#'sys/vnode.h',
- #'vm/pmap.h',
+ 'vm/pmap.h',
#'vm/uma_int.h',
#'vm/uma_dbg.h',
#'vm/vm_extern.h',
@@ -1993,7 +1994,7 @@ mm.addEmptyFiles(
'geom/geom_disk.h',
#'sys/kdb.h',
#'libkern/jenkins.h',
- #'machine/pcb.h',
+ 'machine/pcb.h',
#'net80211/ieee80211_freebsd.h',
'netgraph/ng_ipfw.h',
#'sys/sf_buf.h',
diff --git a/freebsd/dev/e1000/e1000_80003es2lan.c b/freebsd/dev/e1000/e1000_80003es2lan.c
index 7b5101d8..bec2a8ac 100644
--- a/freebsd/dev/e1000/e1000_80003es2lan.c
+++ b/freebsd/dev/e1000/e1000_80003es2lan.c
@@ -39,10 +39,10 @@
* 80003ES2LAN Gigabit Ethernet Controller (Serdes)
*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_init_phy_params_80003es2lan(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_82540.c b/freebsd/dev/e1000/e1000_82540.c
index 1481036f..2f2f0b08 100644
--- a/freebsd/dev/e1000/e1000_82540.c
+++ b/freebsd/dev/e1000/e1000_82540.c
@@ -45,10 +45,10 @@
* 82546GB Gigabit Ethernet Controller
*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_init_phy_params_82540(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_82541.c b/freebsd/dev/e1000/e1000_82541.c
index ca730b5d..9faee5fd 100644
--- a/freebsd/dev/e1000/e1000_82541.c
+++ b/freebsd/dev/e1000/e1000_82541.c
@@ -43,10 +43,10 @@
* 82547GI Gigabit Ethernet Controller
*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_init_phy_params_82541(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_82542.c b/freebsd/dev/e1000/e1000_82542.c
index 7fad75bf..96687ed4 100644
--- a/freebsd/dev/e1000/e1000_82542.c
+++ b/freebsd/dev/e1000/e1000_82542.c
@@ -38,10 +38,10 @@
* 82542 Gigabit Ethernet Controller
*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_init_phy_params_82542(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_82543.c b/freebsd/dev/e1000/e1000_82543.c
index 672af0ed..0836cf51 100644
--- a/freebsd/dev/e1000/e1000_82543.c
+++ b/freebsd/dev/e1000/e1000_82543.c
@@ -43,10 +43,10 @@
* 82544GC Gigabit Ethernet Controller (LOM)
*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_init_phy_params_82543(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_82571.c b/freebsd/dev/e1000/e1000_82571.c
index 6b969e23..bb122d3e 100644
--- a/freebsd/dev/e1000/e1000_82571.c
+++ b/freebsd/dev/e1000/e1000_82571.c
@@ -51,10 +51,10 @@
* 82583V Gigabit Network Connection
*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_init_phy_params_82571(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_82575.c b/freebsd/dev/e1000/e1000_82575.c
index 2311377a..5637832c 100644
--- a/freebsd/dev/e1000/e1000_82575.c
+++ b/freebsd/dev/e1000/e1000_82575.c
@@ -43,10 +43,10 @@
* 82576 Quad Port Gigabit Mezzanine Adapter
*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_init_phy_params_82575(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_api.c b/freebsd/dev/e1000/e1000_api.c
index d5b0faea..b7f72837 100644
--- a/freebsd/dev/e1000/e1000_api.c
+++ b/freebsd/dev/e1000/e1000_api.c
@@ -34,10 +34,10 @@
******************************************************************************/
/*$FreeBSD$*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
/**
diff --git a/freebsd/dev/e1000/e1000_api.h b/freebsd/dev/e1000/e1000_api.h
index 88b2702e..94af19ce 100644
--- a/freebsd/dev/e1000/e1000_api.h
+++ b/freebsd/dev/e1000/e1000_api.h
@@ -35,10 +35,10 @@
#ifndef _E1000_API_HH_
#define _E1000_API_HH_
-#ifndef __rtems__
-#include <freebsd/local/e1000_hw.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_hw.h>
+#else
+#include <freebsd/local/e1000_hw.h>
#endif
extern void e1000_init_function_pointers_82542(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_hw.h b/freebsd/dev/e1000/e1000_hw.h
index 64001902..c51089f8 100644
--- a/freebsd/dev/e1000/e1000_hw.h
+++ b/freebsd/dev/e1000/e1000_hw.h
@@ -35,14 +35,14 @@
#ifndef _E1000_HW_HH_
#define _E1000_HW_HH_
-#ifndef __rtems__
-#include <freebsd/local/e1000_osdep.h>
-#include <freebsd/local/e1000_regs.h>
-#include <freebsd/local/e1000_defines.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_osdep.h>
#include <freebsd/dev/e1000/e1000_regs.h>
#include <freebsd/dev/e1000/e1000_defines.h>
+#else
+#include <freebsd/local/e1000_osdep.h>
+#include <freebsd/local/e1000_regs.h>
+#include <freebsd/local/e1000_defines.h>
#endif
struct e1000_hw;
@@ -629,18 +629,18 @@ struct e1000_host_mng_command_info {
u8 command_data[E1000_HI_MAX_MNG_DATA_LENGTH];
};
-#ifndef __rtems__
-#include <freebsd/local/e1000_mac.h>
-#include <freebsd/local/e1000_phy.h>
-#include <freebsd/local/e1000_nvm.h>
-#include <freebsd/local/e1000_manage.h>
-#include <freebsd/local/e1000_mbx.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_mac.h>
#include <freebsd/dev/e1000/e1000_phy.h>
#include <freebsd/dev/e1000/e1000_nvm.h>
#include <freebsd/dev/e1000/e1000_manage.h>
#include <freebsd/dev/e1000/e1000_mbx.h>
+#else
+#include <freebsd/local/e1000_mac.h>
+#include <freebsd/local/e1000_phy.h>
+#include <freebsd/local/e1000_nvm.h>
+#include <freebsd/local/e1000_manage.h>
+#include <freebsd/local/e1000_mbx.h>
#endif
struct e1000_mac_operations {
@@ -941,20 +941,20 @@ struct e1000_hw {
u8 revision_id;
};
-#ifndef __rtems__
-#include <freebsd/local/e1000_82541.h>
-#include <freebsd/local/e1000_82543.h>
-#include <freebsd/local/e1000_82571.h>
-#include <freebsd/local/e1000_80003es2lan.h>
-#include <freebsd/local/e1000_ich8lan.h>
-#include <freebsd/local/e1000_82575.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_82541.h>
#include <freebsd/dev/e1000/e1000_82543.h>
#include <freebsd/dev/e1000/e1000_82571.h>
#include <freebsd/dev/e1000/e1000_80003es2lan.h>
#include <freebsd/dev/e1000/e1000_ich8lan.h>
#include <freebsd/dev/e1000/e1000_82575.h>
+#else
+#include <freebsd/local/e1000_82541.h>
+#include <freebsd/local/e1000_82543.h>
+#include <freebsd/local/e1000_82571.h>
+#include <freebsd/local/e1000_80003es2lan.h>
+#include <freebsd/local/e1000_ich8lan.h>
+#include <freebsd/local/e1000_82575.h>
#endif
/* These functions must be implemented by drivers */
diff --git a/freebsd/dev/e1000/e1000_ich8lan.c b/freebsd/dev/e1000/e1000_ich8lan.c
index 41c118ee..d8c02cb5 100644
--- a/freebsd/dev/e1000/e1000_ich8lan.c
+++ b/freebsd/dev/e1000/e1000_ich8lan.c
@@ -64,10 +64,10 @@
* 82579V Gigabit Network Connection
*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_init_phy_params_ich8lan(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_mac.c b/freebsd/dev/e1000/e1000_mac.c
index 90550c89..8b38ef9d 100644
--- a/freebsd/dev/e1000/e1000_mac.c
+++ b/freebsd/dev/e1000/e1000_mac.c
@@ -34,10 +34,10 @@
******************************************************************************/
/*$FreeBSD$*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static s32 e1000_validate_mdi_setting_generic(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_manage.c b/freebsd/dev/e1000/e1000_manage.c
index d5f03493..4198425e 100644
--- a/freebsd/dev/e1000/e1000_manage.c
+++ b/freebsd/dev/e1000/e1000_manage.c
@@ -34,10 +34,10 @@
******************************************************************************/
/*$FreeBSD$*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static u8 e1000_calculate_checksum(u8 *buffer, u32 length);
diff --git a/freebsd/dev/e1000/e1000_mbx.c b/freebsd/dev/e1000/e1000_mbx.c
index a000c01b..b30ede51 100644
--- a/freebsd/dev/e1000/e1000_mbx.c
+++ b/freebsd/dev/e1000/e1000_mbx.c
@@ -34,10 +34,10 @@
******************************************************************************/
/*$FreeBSD$*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_mbx.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_mbx.h>
+#else
+#include <freebsd/local/e1000_mnx.h>
#endif
/**
diff --git a/freebsd/dev/e1000/e1000_mbx.h b/freebsd/dev/e1000/e1000_mbx.h
index be6a3252..4c705282 100644
--- a/freebsd/dev/e1000/e1000_mbx.h
+++ b/freebsd/dev/e1000/e1000_mbx.h
@@ -35,10 +35,10 @@
#ifndef _E1000_MBX_HH_
#define _E1000_MBX_HH_
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
/* Define mailbox register bits */
diff --git a/freebsd/dev/e1000/e1000_nvm.c b/freebsd/dev/e1000/e1000_nvm.c
index 975b4e2b..cc2e9edc 100644
--- a/freebsd/dev/e1000/e1000_nvm.c
+++ b/freebsd/dev/e1000/e1000_nvm.c
@@ -34,10 +34,10 @@
******************************************************************************/
/*$FreeBSD$*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static void e1000_reload_nvm_generic(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_osdep.c b/freebsd/dev/e1000/e1000_osdep.c
index 445a23d9..bf95d850 100644
--- a/freebsd/dev/e1000/e1000_osdep.c
+++ b/freebsd/dev/e1000/e1000_osdep.c
@@ -34,10 +34,10 @@
******************************************************************************/
/*$FreeBSD$*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
/*
diff --git a/freebsd/dev/e1000/e1000_osdep.h b/freebsd/dev/e1000/e1000_osdep.h
index bd69a10b..64ea32e1 100644
--- a/freebsd/dev/e1000/e1000_osdep.h
+++ b/freebsd/dev/e1000/e1000_osdep.h
@@ -50,10 +50,8 @@
#include <freebsd/machine/bus.h>
#include <freebsd/sys/rman.h>
#include <freebsd/machine/resource.h>
-#ifndef __rtems__
#include <freebsd/vm/vm.h>
#include <freebsd/vm/pmap.h>
-#endif
#include <freebsd/machine/clock.h>
#include <freebsd/dev/pci/pcivar.h>
#include <freebsd/dev/pci/pcireg.h>
diff --git a/freebsd/dev/e1000/e1000_phy.c b/freebsd/dev/e1000/e1000_phy.c
index 2a409169..5b567f45 100644
--- a/freebsd/dev/e1000/e1000_phy.c
+++ b/freebsd/dev/e1000/e1000_phy.c
@@ -34,10 +34,10 @@
******************************************************************************/
/*$FreeBSD$*/
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
static u32 e1000_get_phy_addr_for_bm_page(u32 page, u32 reg);
diff --git a/freebsd/dev/e1000/e1000_vf.c b/freebsd/dev/e1000/e1000_vf.c
index 7af234fa..943b24e7 100644
--- a/freebsd/dev/e1000/e1000_vf.c
+++ b/freebsd/dev/e1000/e1000_vf.c
@@ -34,14 +34,12 @@
******************************************************************************/
/*$FreeBSD$*/
-
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
+#else
+#include <freebsd/local/e1000_api.h>
#endif
-
static s32 e1000_init_phy_params_vf(struct e1000_hw *hw);
static s32 e1000_init_nvm_params_vf(struct e1000_hw *hw);
static void e1000_release_vf(struct e1000_hw *hw);
diff --git a/freebsd/dev/e1000/e1000_vf.h b/freebsd/dev/e1000/e1000_vf.h
index 7afa1f6c..28bb4fde 100644
--- a/freebsd/dev/e1000/e1000_vf.h
+++ b/freebsd/dev/e1000/e1000_vf.h
@@ -35,14 +35,14 @@
#ifndef _E1000_VF_HH_
#define _E1000_VF_HH_
-#ifndef __rtems__
-#include <freebsd/local/e1000_osdep.h>
-#include <freebsd/local/e1000_regs.h>
-#include <freebsd/local/e1000_defines.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_osdep.h>
#include <freebsd/dev/e1000/e1000_regs.h>
#include <freebsd/dev/e1000/e1000_defines.h>
+#else
+#include <freebsd/local/e1000_osdep.h>
+#include <freebsd/local/e1000_regs.h>
+#include <freebsd/local/e1000_defines.h>
#endif
struct e1000_hw;
@@ -195,7 +195,11 @@ struct e1000_vf_stats {
u64 gprlbc;
};
+#ifdef __rtems__
+#include <freebsd/dev/e1000/e1000_mbx.h>
+#else
#include <freebsd/local/e1000_mbx.h>
+#endif
struct e1000_mac_operations {
/* Function pointers for the MAC. */
diff --git a/freebsd/dev/e1000/if_em.c b/freebsd/dev/e1000/if_em.c
index 6b9f4c4e..bc3ac3a3 100644
--- a/freebsd/dev/e1000/if_em.c
+++ b/freebsd/dev/e1000/if_em.c
@@ -79,20 +79,18 @@
#include <freebsd/netinet/udp.h>
#include <freebsd/machine/in_cksum.h>
-#ifndef __rtems__
#include <freebsd/dev/led/led.h>
-#endif
#include <freebsd/dev/pci/pcivar.h>
#include <freebsd/dev/pci/pcireg.h>
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#include <freebsd/local/e1000_82571.h>
-#include <freebsd/local/if_em.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
#include <freebsd/dev/e1000/e1000_82571.h>
#include <freebsd/dev/e1000/if_em.h>
+#else
+#include <freebsd/local/e1000_api.h>
+#include <freebsd/local/e1000_82571.h>
+#include <freebsd/local/if_em.h>
#endif
/*********************************************************************
diff --git a/freebsd/dev/e1000/if_igb.c b/freebsd/dev/e1000/if_igb.c
index 2b231ab0..f5a4e8bc 100644
--- a/freebsd/dev/e1000/if_igb.c
+++ b/freebsd/dev/e1000/if_igb.c
@@ -85,20 +85,18 @@
#include <freebsd/netinet/udp.h>
#include <freebsd/machine/in_cksum.h>
-#ifndef __rtems__
#include <freebsd/dev/led/led.h>
-#endif
#include <freebsd/dev/pci/pcivar.h>
#include <freebsd/dev/pci/pcireg.h>
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#include <freebsd/local/e1000_82575.h>
-#include <freebsd/local/if_igb.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
#include <freebsd/dev/e1000/e1000_82575.h>
#include <freebsd/dev/e1000/if_igb.h>
+#else
+#include <freebsd/local/e1000_api.h>
+#include <freebsd/local/e1000_82575.h>
+#include <freebsd/local/if_igb.h>
#endif
/*********************************************************************
@@ -222,16 +220,20 @@ static __inline void igb_rx_discard(struct rx_ring *, int);
static __inline void igb_rx_input(struct rx_ring *,
struct ifnet *, struct mbuf *, u32);
+#ifdef __rtems__
+/* XXX the inconsistent prototype and body need to be reported to FreeBSD */
static bool igb_rxeof(struct igb_queue *, int, int *);
+#else
+static boolean_t igb_rxeof(struct igb_queue *, int, int *);
+#endif
static void igb_rx_checksum(u32, struct mbuf *, u32);
#ifdef __rtems__
-/* XXX this is an inconsistency in BSD */
+/* XXX the inconsistent prototype and body need to be reported to FreeBSD */
static bool igb_tx_ctx_setup(struct tx_ring *, struct mbuf *);
-static boolean_t igb_tso_setup(struct tx_ring *, struct mbuf *, u32 *);
#else
static int igb_tx_ctx_setup(struct tx_ring *, struct mbuf *);
-static bool igb_tso_setup(struct tx_ring *, struct mbuf *, u32 *);
#endif
+static boolean_t igb_tso_setup(struct tx_ring *, struct mbuf *, u32 *);
static void igb_set_promisc(struct adapter *);
static void igb_disable_promisc(struct adapter *);
static void igb_set_multi(struct adapter *);
@@ -4306,6 +4308,7 @@ igb_rx_input(struct rx_ring *rxr, struct ifnet *ifp, struct mbuf *m, u32 ptype)
*
* Return TRUE if more to clean, FALSE otherwise
*********************************************************************/
+
static bool
igb_rxeof(struct igb_queue *que, int count, int *done)
{
diff --git a/freebsd/dev/e1000/if_lem.c b/freebsd/dev/e1000/if_lem.c
index 5d3e9389..b0daee16 100644
--- a/freebsd/dev/e1000/if_lem.c
+++ b/freebsd/dev/e1000/if_lem.c
@@ -76,18 +76,16 @@
#include <freebsd/netinet/udp.h>
#include <freebsd/machine/in_cksum.h>
-#ifndef __rtems__
#include <freebsd/dev/led/led.h>
-#endif
#include <freebsd/dev/pci/pcivar.h>
#include <freebsd/dev/pci/pcireg.h>
-#ifndef __rtems__
-#include <freebsd/local/e1000_api.h>
-#include <freebsd/local/if_lem.h>
-#else
+#ifdef __rtems__
#include <freebsd/dev/e1000/e1000_api.h>
#include <freebsd/dev/e1000/if_lem.h>
+#else
+#include <freebsd/local/e1000_api.h>
+#include <freebsd/local/if_lem.h>
#endif
/*********************************************************************
diff --git a/freebsd/dev/led/led.h b/freebsd/dev/led/led.h
new file mode 100644
index 00000000..bbf301e5
--- /dev/null
+++ b/freebsd/dev/led/led.h
@@ -0,0 +1,21 @@
+/*-
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <phk@FreeBSD.org> wrote this file. As long as you retain this notice you
+ * can do whatever you want with this stuff. If we meet some day, and you think
+ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
+ * ----------------------------------------------------------------------------
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _DEV_LED_H
+#define _DEV_LED_H
+
+typedef void led_t(void *, int);
+
+struct cdev *led_create_state(led_t *, void *, char const *, int);
+struct cdev *led_create(led_t *, void *, char const *);
+void led_destroy(struct cdev *);
+
+#endif
diff --git a/freebsd/kern/init_main.c b/freebsd/kern/init_main.c
index 1656d43e..4b308fc3 100644
--- a/freebsd/kern/init_main.c
+++ b/freebsd/kern/init_main.c
@@ -110,9 +110,7 @@ struct proc *initproc;
int boothowto = 0; /* initialized so that it can be patched */
SYSCTL_INT(_debug, OID_AUTO, boothowto, CTLFLAG_RD, &boothowto, 0, "");
-#endif
int bootverbose;
-#ifndef __rtems__
SYSCTL_INT(_debug, OID_AUTO, bootverbose, CTLFLAG_RW, &bootverbose, 0, "");
/*
diff --git a/freebsd/kern/kern_subr.c b/freebsd/kern/kern_subr.c
index 072af1c8..f32e8750 100644
--- a/freebsd/kern/kern_subr.c
+++ b/freebsd/kern/kern_subr.c
@@ -77,7 +77,6 @@ SYSCTL_INT(_kern, KERN_IOV_MAX, iov_max, CTLFLAG_RD, NULL, UIO_MAXIOV,
/* Declared in uipc_socket.c */
extern int so_zero_copy_receive;
-#ifndef __rtems__
/*
* Identify the physical page mapped at the given kernel virtual
* address. Insert this physical page into the given address space at
@@ -373,7 +372,6 @@ again:
uio->uio_offset++;
return (0);
}
-#endif
/*
* General routine to allocate a hash table with control of memory flags.
@@ -439,7 +437,6 @@ static int primes[] = { 1, 13, 31, 61, 127, 251, 509, 761, 1021, 1531, 2039,
7159, 7673, 8191, 12281, 16381, 24571, 32749 };
#define NPRIMES (sizeof(primes) / sizeof(primes[0]))
-#ifndef __rtems__
/*
* General routine to allocate a prime number sized hash table.
*/
@@ -587,5 +584,3 @@ cloneuio(struct uio *uiop)
bcopy(uiop->uio_iov, uio->uio_iov, iovlen);
return (uio);
}
-#endif
-
diff --git a/freebsd/machine/pcb.h b/freebsd/machine/pcb.h
new file mode 100644
index 00000000..936ffd88
--- /dev/null
+++ b/freebsd/machine/pcb.h
@@ -0,0 +1 @@
+/* EMPTY */
diff --git a/freebsd/machine/vm.h b/freebsd/machine/vm.h
new file mode 100644
index 00000000..936ffd88
--- /dev/null
+++ b/freebsd/machine/vm.h
@@ -0,0 +1 @@
+/* EMPTY */
diff --git a/freebsd/vm/pmap.h b/freebsd/vm/pmap.h
new file mode 100644
index 00000000..936ffd88
--- /dev/null
+++ b/freebsd/vm/pmap.h
@@ -0,0 +1 @@
+/* EMPTY */
diff --git a/freebsd/vm/vm.h b/freebsd/vm/vm.h
new file mode 100644
index 00000000..037ac838
--- /dev/null
+++ b/freebsd/vm/vm.h
@@ -0,0 +1,152 @@
+/*-
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)vm.h 8.2 (Berkeley) 12/13/93
+ * @(#)vm_prot.h 8.1 (Berkeley) 6/11/93
+ * @(#)vm_inherit.h 8.1 (Berkeley) 6/11/93
+ *
+ * Copyright (c) 1987, 1990 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Authors: Avadis Tevanian, Jr., Michael Wayne Young
+ *
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
+ * School of Computer Science
+ * Carnegie Mellon University
+ * Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef VM_H
+#define VM_H
+
+#include <freebsd/machine/vm.h>
+
+typedef char vm_inherit_t; /* inheritance codes */
+
+#define VM_INHERIT_SHARE ((vm_inherit_t) 0)
+#define VM_INHERIT_COPY ((vm_inherit_t) 1)
+#define VM_INHERIT_NONE ((vm_inherit_t) 2)
+#define VM_INHERIT_DEFAULT VM_INHERIT_COPY
+
+typedef u_char vm_prot_t; /* protection codes */
+
+#define VM_PROT_NONE ((vm_prot_t) 0x00)
+#define VM_PROT_READ ((vm_prot_t) 0x01)
+#define VM_PROT_WRITE ((vm_prot_t) 0x02)
+#define VM_PROT_EXECUTE ((vm_prot_t) 0x04)
+#define VM_PROT_OVERRIDE_WRITE ((vm_prot_t) 0x08) /* copy-on-write */
+
+#define VM_PROT_ALL (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE)
+#define VM_PROT_RW (VM_PROT_READ|VM_PROT_WRITE)
+#define VM_PROT_DEFAULT VM_PROT_ALL
+
+enum obj_type { OBJT_DEFAULT, OBJT_SWAP, OBJT_VNODE, OBJT_DEVICE, OBJT_PHYS,
+ OBJT_DEAD, OBJT_SG };
+typedef u_char objtype_t;
+
+union vm_map_object;
+typedef union vm_map_object vm_map_object_t;
+
+struct vm_map_entry;
+typedef struct vm_map_entry *vm_map_entry_t;
+
+struct vm_map;
+typedef struct vm_map *vm_map_t;
+
+struct vm_object;
+typedef struct vm_object *vm_object_t;
+
+#ifndef _KERNEL
+/*
+ * This is defined in <sys/types.h> for the kernel so that non-vm kernel
+ * sources (mainly Mach-derived ones such as ddb) don't have to include
+ * vm stuff. Defining it there for applications might break things.
+ * Define it here for "applications" that include vm headers (e.g.,
+ * genassym).
+ */
+typedef int boolean_t;
+
+/*
+ * The exact set of memory attributes is machine dependent. However, every
+ * machine is required to define VM_MEMATTR_DEFAULT.
+ */
+typedef char vm_memattr_t; /* memory attribute codes */
+
+/*
+ * This is defined in <sys/types.h> for the kernel so that vnode_if.h
+ * doesn't have to include <vm/vm.h>.
+ */
+struct vm_page;
+typedef struct vm_page *vm_page_t;
+#endif /* _KERNEL */
+
+struct vm_reserv;
+typedef struct vm_reserv *vm_reserv_t;
+
+/*
+ * Information passed from the machine-independant VM initialization code
+ * for use by machine-dependant code (mainly for MMU support)
+ */
+struct kva_md_info {
+ vm_offset_t buffer_sva;
+ vm_offset_t buffer_eva;
+ vm_offset_t clean_sva;
+ vm_offset_t clean_eva;
+ vm_offset_t pager_sva;
+ vm_offset_t pager_eva;
+};
+
+extern struct kva_md_info kmi;
+extern void vm_ksubmap_init(struct kva_md_info *);
+
+struct uidinfo;
+int swap_reserve(vm_ooffset_t incr);
+int swap_reserve_by_uid(vm_ooffset_t incr, struct uidinfo *uip);
+void swap_reserve_force(vm_ooffset_t incr);
+void swap_release(vm_ooffset_t decr);
+void swap_release_by_uid(vm_ooffset_t decr, struct uidinfo *uip);
+
+#endif /* VM_H */
+
diff --git a/testsuite/usb01/Makefile b/testsuite/usb01/Makefile
index 6f5aae94..732a4e31 100644
--- a/testsuite/usb01/Makefile
+++ b/testsuite/usb01/Makefile
@@ -25,7 +25,7 @@ CXXFLAGS += $(CFLAGS)
all: $(APP)
$(APP): $(APP_O_FILES)
- $(CXX) $(CXXFLAGS) $^ $(LINK_LIBS) -o $(APP)
+ $(CC) $(CXXFLAGS) $^ $(LINK_LIBS) -o $(APP)
clean:
rm -f $(APP_O_FILES) $(APP_DEP_FILES)