rtwn: Port to RTEMS

This commit is contained in:
Christian Mauderer 2016-11-18 11:13:11 +01:00
parent 0cbb715ade
commit edf32f211c
7 changed files with 1667 additions and 4 deletions

View File

@ -26,7 +26,7 @@ GENERATED += $(LOCAL_INC)/mmcbr_if.h
GENERATED += $(LOCAL_SRC)/mmcbr_if.c GENERATED += $(LOCAL_SRC)/mmcbr_if.c
GENERATED += $(LOCAL_INC)/mmcbus_if.h GENERATED += $(LOCAL_INC)/mmcbus_if.h
GENERATED += $(LOCAL_SRC)/mmcbus_if.c GENERATED += $(LOCAL_SRC)/mmcbus_if.c
GENERATED += $(LOCAL_SRC)/urtwn-rtl8192cfwT.fw.c GENERATED += $(LOCAL_SRC)/rtwn-rtl8192cfwT.c
GENERATED += rtemsbsd/include/machine/rtems-bsd-regdomain.h GENERATED += rtemsbsd/include/machine/rtems-bsd-regdomain.h
GENERATED += rtemsbsd/rtems/rtems-bsd-regdomain.c GENERATED += rtemsbsd/rtems/rtems-bsd-regdomain.c
@ -124,10 +124,10 @@ $(LOCAL_SRC)/gpio_if.c: $(FREEBSD_SRC)/sys/dev/gpio/gpio_if.m
awk -f $(TOOLS)/makeobjops.awk $< -c awk -f $(TOOLS)/makeobjops.awk $< -c
mv gpio_if.c $@ mv gpio_if.c $@
$(LOCAL_SRC)/urtwn-rtl8192cfwT.c: $(FREEBSD_SRC)/sys/contrib/dev/urtwn/urtwn-rtl8192cfwT.fw.uu $(LOCAL_SRC)/rtwn-rtl8192cfwT.c: $(FREEBSD_SRC)/sys/contrib/dev/rtwn/rtwn-rtl8192cfwT.fw.uu
uudecode -o /dev/stdout $< | python firmware-gen.py \ uudecode -o /dev/stdout $< | python firmware-gen.py \
-l "$(FREEBSD_SRC)/sys/contrib/dev/urtwn/LICENSE" \ -l "$(FREEBSD_SRC)/sys/contrib/dev/rtwn/LICENSE" \
urtwn-rtl8192cfwT - $@ rtwn-rtl8192cfwT - $@
freebsd/usr.bin/netstat/nl_symbols.c: $(FREEBSD_SRC)/usr.bin/netstat/nlist_symbols freebsd/usr.bin/netstat/nl_symbols.c: $(FREEBSD_SRC)/usr.bin/netstat/nlist_symbols
awk '\ awk '\

View File

@ -21,6 +21,9 @@ __FBSDID("$FreeBSD$");
#include <rtems/bsd/local/opt_wlan.h> #include <rtems/bsd/local/opt_wlan.h>
#ifdef __rtems__
#define __LINUX_ERRNO_EXTENSIONS__
#endif /* __rtems__ */
#include <rtems/bsd/sys/param.h> #include <rtems/bsd/sys/param.h>
#include <rtems/bsd/sys/lock.h> #include <rtems/bsd/sys/lock.h>
#include <sys/mutex.h> #include <sys/mutex.h>

172
libbsd.py
View File

@ -842,6 +842,177 @@ def dev_usb_wlan(mm):
) )
return mod return mod
#
# WLAN RTWN
#
def dev_wlan_rtwn(mm):
mod = builder.Module('dev_wlan_rtwn')
mod.addDependency(mm['dev_usb'])
mod.addKernelSpaceHeaderFiles(
[
'sys/dev/rtwn/if_rtwn_beacon.h',
'sys/dev/rtwn/if_rtwn_calib.h',
'sys/dev/rtwn/if_rtwn_cam.h',
'sys/dev/rtwn/if_rtwn_debug.h',
'sys/dev/rtwn/if_rtwn_efuse.h',
'sys/dev/rtwn/if_rtwn_fw.h',
'sys/dev/rtwn/if_rtwn_nop.h',
'sys/dev/rtwn/if_rtwnreg.h',
'sys/dev/rtwn/if_rtwn_ridx.h',
'sys/dev/rtwn/if_rtwn_rx.h',
'sys/dev/rtwn/if_rtwn_task.h',
'sys/dev/rtwn/if_rtwn_tx.h',
'sys/dev/rtwn/if_rtwnvar.h',
'sys/dev/rtwn/pci/rtwn_pci_attach.h',
'sys/dev/rtwn/pci/rtwn_pci_reg.h',
'sys/dev/rtwn/pci/rtwn_pci_rx.h',
'sys/dev/rtwn/pci/rtwn_pci_tx.h',
'sys/dev/rtwn/pci/rtwn_pci_var.h',
'sys/dev/rtwn/rtl8188e/r88e_fw_cmd.h',
'sys/dev/rtwn/rtl8188e/r88e.h',
'sys/dev/rtwn/rtl8188e/r88e_priv.h',
'sys/dev/rtwn/rtl8188e/r88e_reg.h',
'sys/dev/rtwn/rtl8188e/r88e_rom_defs.h',
'sys/dev/rtwn/rtl8188e/r88e_rom_image.h',
'sys/dev/rtwn/rtl8188e/r88e_rx_desc.h',
'sys/dev/rtwn/rtl8188e/r88e_tx_desc.h',
'sys/dev/rtwn/rtl8188e/usb/r88eu.h',
'sys/dev/rtwn/rtl8188e/usb/r88eu_reg.h',
'sys/dev/rtwn/rtl8192c/pci/r92ce.h',
'sys/dev/rtwn/rtl8192c/pci/r92ce_priv.h',
'sys/dev/rtwn/rtl8192c/pci/r92ce_reg.h',
'sys/dev/rtwn/rtl8192c/pci/r92ce_rx_desc.h',
'sys/dev/rtwn/rtl8192c/pci/r92ce_tx_desc.h',
'sys/dev/rtwn/rtl8192c/r92c_fw_cmd.h',
'sys/dev/rtwn/rtl8192c/r92c.h',
'sys/dev/rtwn/rtl8192c/r92c_priv.h',
'sys/dev/rtwn/rtl8192c/r92c_reg.h',
'sys/dev/rtwn/rtl8192c/r92c_rom_defs.h',
'sys/dev/rtwn/rtl8192c/r92c_rom_image.h',
'sys/dev/rtwn/rtl8192c/r92c_rx_desc.h',
'sys/dev/rtwn/rtl8192c/r92c_tx_desc.h',
'sys/dev/rtwn/rtl8192c/r92c_var.h',
'sys/dev/rtwn/rtl8192c/usb/r92cu.h',
'sys/dev/rtwn/rtl8192c/usb/r92cu_priv.h',
'sys/dev/rtwn/rtl8192c/usb/r92cu_reg.h',
'sys/dev/rtwn/rtl8192c/usb/r92cu_tx_desc.h',
'sys/dev/rtwn/rtl8812a/r12a_fw_cmd.h',
'sys/dev/rtwn/rtl8812a/r12a.h',
'sys/dev/rtwn/rtl8812a/r12a_priv.h',
'sys/dev/rtwn/rtl8812a/r12a_reg.h',
'sys/dev/rtwn/rtl8812a/r12a_rom_defs.h',
'sys/dev/rtwn/rtl8812a/r12a_rom_image.h',
'sys/dev/rtwn/rtl8812a/r12a_rx_desc.h',
'sys/dev/rtwn/rtl8812a/r12a_tx_desc.h',
'sys/dev/rtwn/rtl8812a/r12a_var.h',
'sys/dev/rtwn/rtl8812a/usb/r12au.h',
'sys/dev/rtwn/rtl8812a/usb/r12au_reg.h',
'sys/dev/rtwn/rtl8812a/usb/r12au_tx_desc.h',
'sys/dev/rtwn/rtl8821a/r21a.h',
'sys/dev/rtwn/rtl8821a/r21a_priv.h',
'sys/dev/rtwn/rtl8821a/r21a_reg.h',
'sys/dev/rtwn/rtl8821a/usb/r21au.h',
'sys/dev/rtwn/rtl8821a/usb/r21au_reg.h',
'sys/dev/rtwn/usb/rtwn_usb_attach.h',
'sys/dev/rtwn/usb/rtwn_usb_ep.h',
'sys/dev/rtwn/usb/rtwn_usb_reg.h',
'sys/dev/rtwn/usb/rtwn_usb_rx.h',
'sys/dev/rtwn/usb/rtwn_usb_tx.h',
'sys/dev/rtwn/usb/rtwn_usb_var.h',
]
)
mod.addRTEMSSourceFiles(
[
'local/rtwn-rtl8192cfwT.c',
],
mm.generator['source']()
)
mod.addKernelSpaceSourceFiles(
[
'sys/dev/rtwn/if_rtwn_beacon.c',
'sys/dev/rtwn/if_rtwn.c',
'sys/dev/rtwn/if_rtwn_calib.c',
'sys/dev/rtwn/if_rtwn_cam.c',
'sys/dev/rtwn/if_rtwn_efuse.c',
'sys/dev/rtwn/if_rtwn_fw.c',
'sys/dev/rtwn/if_rtwn_rx.c',
'sys/dev/rtwn/if_rtwn_task.c',
'sys/dev/rtwn/if_rtwn_tx.c',
'sys/dev/rtwn/pci/rtwn_pci_attach.c',
'sys/dev/rtwn/pci/rtwn_pci_reg.c',
'sys/dev/rtwn/pci/rtwn_pci_rx.c',
'sys/dev/rtwn/pci/rtwn_pci_tx.c',
'sys/dev/rtwn/rtl8188e/r88e_beacon.c',
'sys/dev/rtwn/rtl8188e/r88e_calib.c',
'sys/dev/rtwn/rtl8188e/r88e_chan.c',
'sys/dev/rtwn/rtl8188e/r88e_fw.c',
'sys/dev/rtwn/rtl8188e/r88e_init.c',
'sys/dev/rtwn/rtl8188e/r88e_led.c',
'sys/dev/rtwn/rtl8188e/r88e_rf.c',
'sys/dev/rtwn/rtl8188e/r88e_rom.c',
'sys/dev/rtwn/rtl8188e/r88e_rx.c',
'sys/dev/rtwn/rtl8188e/r88e_tx.c',
'sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c',
'sys/dev/rtwn/rtl8188e/usb/r88eu_init.c',
'sys/dev/rtwn/rtl8188e/usb/r88eu_rx.c',
'sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c',
'sys/dev/rtwn/rtl8192c/pci/r92ce_calib.c',
'sys/dev/rtwn/rtl8192c/pci/r92ce_fw.c',
'sys/dev/rtwn/rtl8192c/pci/r92ce_init.c',
'sys/dev/rtwn/rtl8192c/pci/r92ce_led.c',
'sys/dev/rtwn/rtl8192c/pci/r92ce_rx.c',
'sys/dev/rtwn/rtl8192c/pci/r92ce_tx.c',
'sys/dev/rtwn/rtl8192c/r92c_attach.c',
'sys/dev/rtwn/rtl8192c/r92c_beacon.c',
'sys/dev/rtwn/rtl8192c/r92c_calib.c',
'sys/dev/rtwn/rtl8192c/r92c_chan.c',
'sys/dev/rtwn/rtl8192c/r92c_fw.c',
'sys/dev/rtwn/rtl8192c/r92c_init.c',
'sys/dev/rtwn/rtl8192c/r92c_rf.c',
'sys/dev/rtwn/rtl8192c/r92c_rom.c',
'sys/dev/rtwn/rtl8192c/r92c_rx.c',
'sys/dev/rtwn/rtl8192c/r92c_tx.c',
'sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c',
'sys/dev/rtwn/rtl8192c/usb/r92cu_init.c',
'sys/dev/rtwn/rtl8192c/usb/r92cu_led.c',
'sys/dev/rtwn/rtl8192c/usb/r92cu_rx.c',
'sys/dev/rtwn/rtl8192c/usb/r92cu_tx.c',
'sys/dev/rtwn/rtl8812a/r12a_beacon.c',
'sys/dev/rtwn/rtl8812a/r12a_calib.c',
'sys/dev/rtwn/rtl8812a/r12a_caps.c',
'sys/dev/rtwn/rtl8812a/r12a_chan.c',
'sys/dev/rtwn/rtl8812a/r12a_fw.c',
'sys/dev/rtwn/rtl8812a/r12a_init.c',
'sys/dev/rtwn/rtl8812a/r12a_led.c',
'sys/dev/rtwn/rtl8812a/r12a_rf.c',
'sys/dev/rtwn/rtl8812a/r12a_rom.c',
'sys/dev/rtwn/rtl8812a/r12a_rx.c',
'sys/dev/rtwn/rtl8812a/r12a_tx.c',
'sys/dev/rtwn/rtl8812a/usb/r12au_attach.c',
'sys/dev/rtwn/rtl8812a/usb/r12au_init.c',
'sys/dev/rtwn/rtl8812a/usb/r12au_rx.c',
'sys/dev/rtwn/rtl8812a/usb/r12au_tx.c',
'sys/dev/rtwn/rtl8821a/r21a_beacon.c',
'sys/dev/rtwn/rtl8821a/r21a_calib.c',
'sys/dev/rtwn/rtl8821a/r21a_chan.c',
'sys/dev/rtwn/rtl8821a/r21a_fw.c',
'sys/dev/rtwn/rtl8821a/r21a_init.c',
'sys/dev/rtwn/rtl8821a/r21a_led.c',
'sys/dev/rtwn/rtl8821a/r21a_rom.c',
'sys/dev/rtwn/rtl8821a/r21a_rx.c',
'sys/dev/rtwn/rtl8821a/usb/r21au_attach.c',
'sys/dev/rtwn/rtl8821a/usb/r21au_dfs.c',
'sys/dev/rtwn/rtl8821a/usb/r21au_init.c',
'sys/dev/rtwn/usb/rtwn_usb_attach.c',
'sys/dev/rtwn/usb/rtwn_usb_ep.c',
'sys/dev/rtwn/usb/rtwn_usb_reg.c',
'sys/dev/rtwn/usb/rtwn_usb_rx.c',
'sys/dev/rtwn/usb/rtwn_usb_tx.c',
],
mm.generator['source']()
)
return mod
# #
# CAM # CAM
# #
@ -2848,6 +3019,7 @@ def sources(mm):
#mm.addModule(dev_usb_serial(mm)) #mm.addModule(dev_usb_serial(mm))
mm.addModule(dev_usb_net(mm)) mm.addModule(dev_usb_net(mm))
mm.addModule(dev_usb_wlan(mm)) mm.addModule(dev_usb_wlan(mm))
mm.addModule(dev_wlan_rtwn(mm))
mm.addModule(cam(mm)) mm.addModule(cam(mm))
mm.addModule(dev_usb_storage(mm)) mm.addModule(dev_usb_storage(mm))

View File

@ -778,6 +778,8 @@ detail and debug level information from the command.
. *, trunk, 2017-01-09, 1f8e4a995a6ede4bdb24e6d335ccda2bdb0175ab. . *, trunk, 2017-01-09, 1f8e4a995a6ede4bdb24e6d335ccda2bdb0175ab.
== How to import code from FreeBSD
. In case you import files from a special FreeBSD version, then update the list above. . In case you import files from a special FreeBSD version, then update the list above.
. Run `git status` and make sure your working directory is clean. . Run `git status` and make sure your working directory is clean.
. Run `./freebsd-to-rtems.py -R` . Run `./freebsd-to-rtems.py -R`

View File

@ -785,6 +785,85 @@ def build(bld):
'freebsd/sys/dev/pci/pci_pci.c', 'freebsd/sys/dev/pci/pci_pci.c',
'freebsd/sys/dev/pci/pci_user.c', 'freebsd/sys/dev/pci/pci_user.c',
'freebsd/sys/dev/re/if_re.c', 'freebsd/sys/dev/re/if_re.c',
'freebsd/sys/dev/rtwn/if_rtwn.c',
'freebsd/sys/dev/rtwn/if_rtwn_beacon.c',
'freebsd/sys/dev/rtwn/if_rtwn_calib.c',
'freebsd/sys/dev/rtwn/if_rtwn_cam.c',
'freebsd/sys/dev/rtwn/if_rtwn_efuse.c',
'freebsd/sys/dev/rtwn/if_rtwn_fw.c',
'freebsd/sys/dev/rtwn/if_rtwn_rx.c',
'freebsd/sys/dev/rtwn/if_rtwn_task.c',
'freebsd/sys/dev/rtwn/if_rtwn_tx.c',
'freebsd/sys/dev/rtwn/pci/rtwn_pci_attach.c',
'freebsd/sys/dev/rtwn/pci/rtwn_pci_reg.c',
'freebsd/sys/dev/rtwn/pci/rtwn_pci_rx.c',
'freebsd/sys/dev/rtwn/pci/rtwn_pci_tx.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_beacon.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_calib.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_chan.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_fw.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_init.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_led.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_rf.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_rom.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_rx.c',
'freebsd/sys/dev/rtwn/rtl8188e/r88e_tx.c',
'freebsd/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c',
'freebsd/sys/dev/rtwn/rtl8188e/usb/r88eu_init.c',
'freebsd/sys/dev/rtwn/rtl8188e/usb/r88eu_rx.c',
'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c',
'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_calib.c',
'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_fw.c',
'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_init.c',
'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_led.c',
'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_rx.c',
'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_tx.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_attach.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_beacon.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_calib.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_chan.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_fw.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_init.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_rf.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_rom.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_rx.c',
'freebsd/sys/dev/rtwn/rtl8192c/r92c_tx.c',
'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c',
'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_init.c',
'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_led.c',
'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_rx.c',
'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_tx.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_beacon.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_calib.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_caps.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_chan.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_fw.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_init.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_led.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_rf.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_rom.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_rx.c',
'freebsd/sys/dev/rtwn/rtl8812a/r12a_tx.c',
'freebsd/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c',
'freebsd/sys/dev/rtwn/rtl8812a/usb/r12au_init.c',
'freebsd/sys/dev/rtwn/rtl8812a/usb/r12au_rx.c',
'freebsd/sys/dev/rtwn/rtl8812a/usb/r12au_tx.c',
'freebsd/sys/dev/rtwn/rtl8821a/r21a_beacon.c',
'freebsd/sys/dev/rtwn/rtl8821a/r21a_calib.c',
'freebsd/sys/dev/rtwn/rtl8821a/r21a_chan.c',
'freebsd/sys/dev/rtwn/rtl8821a/r21a_fw.c',
'freebsd/sys/dev/rtwn/rtl8821a/r21a_init.c',
'freebsd/sys/dev/rtwn/rtl8821a/r21a_led.c',
'freebsd/sys/dev/rtwn/rtl8821a/r21a_rom.c',
'freebsd/sys/dev/rtwn/rtl8821a/r21a_rx.c',
'freebsd/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c',
'freebsd/sys/dev/rtwn/rtl8821a/usb/r21au_dfs.c',
'freebsd/sys/dev/rtwn/rtl8821a/usb/r21au_init.c',
'freebsd/sys/dev/rtwn/usb/rtwn_usb_attach.c',
'freebsd/sys/dev/rtwn/usb/rtwn_usb_ep.c',
'freebsd/sys/dev/rtwn/usb/rtwn_usb_reg.c',
'freebsd/sys/dev/rtwn/usb/rtwn_usb_rx.c',
'freebsd/sys/dev/rtwn/usb/rtwn_usb_tx.c',
'freebsd/sys/dev/smc/if_smc.c', 'freebsd/sys/dev/smc/if_smc.c',
'freebsd/sys/dev/tsec/if_tsec.c', 'freebsd/sys/dev/tsec/if_tsec.c',
'freebsd/sys/dev/usb/controller/dwc_otg.c', 'freebsd/sys/dev/usb/controller/dwc_otg.c',
@ -1146,6 +1225,7 @@ def build(bld):
'rtemsbsd/local/mmcbus_if.c', 'rtemsbsd/local/mmcbus_if.c',
'rtemsbsd/local/pci_if.c', 'rtemsbsd/local/pci_if.c',
'rtemsbsd/local/pcib_if.c', 'rtemsbsd/local/pcib_if.c',
'rtemsbsd/local/rtwn-rtl8192cfwT.c',
'rtemsbsd/local/usb_if.c', 'rtemsbsd/local/usb_if.c',
'rtemsbsd/mdns/mdns-hostname-default.c', 'rtemsbsd/mdns/mdns-hostname-default.c',
'rtemsbsd/mdns/mdns.c', 'rtemsbsd/mdns/mdns.c',

File diff suppressed because it is too large Load Diff