[PATCH v5 0/7] [5-freebsd-12] Fix compilation for i386

Jan Sommer jan.sommer at dlr.de
Fri Apr 17 08:24:01 UTC 2020


This is the  backport for the 5-freebsd-12 branch to make rtems-libbsd compile for i386 again:
- It also introduces path-mappings to waf_libbsd.py as introduced here:
https://lists.rtems.org/pipermail/devel/2020-February/057457.html

Changes compared to v4:
- Split up the changes in more reasonable commits
- header files in rtemsbsd/include/x86 are now only stubs forwarding to
  the correct file

Changes compared to v3:
- iflib.c: Properly deactivate usage of ifc_cpus
- subr_gtaskqueue.c: Deactivate BSD_ASSERT for i386 (will open a
  discussion for that)
- Could successfully run network tests (e.g. dhcpcd0x.exe on hardware)

Changes compared to v2:
- callout.h: Change the callout_reset_on macro
- iflib.c: Do not use different callout* macro, but use the changed one

Best regards,

   Jan


Jan Sommer (7):
  i386: Add missing files from FreeBSD
  waf: Add path-mappings feature
  i386: Add missing files to build system
  Callout: Redefine callout_reset_on for rtems
  iflib.c: Deactivate use of ifc_cpus
  i386: Delete old machine dependent files
  i386: Port to RTEMS

 freebsd/sbin/sysctl/sysctl.c                       |    8 +
 freebsd/sys/dev/pci/pci_pci.c                      |    2 +
 freebsd/sys/i386/include/machine/cpufunc.h         |    2 +
 freebsd/sys/i386/include/machine/specialreg.h      |    6 -
 freebsd/sys/kern/subr_gtaskqueue.c                 |    4 +
 freebsd/sys/net/iflib.c                            | 6771 ++++++++++++++++++++
 freebsd/sys/net/iflib_private.h                    |   76 +
 freebsd/sys/net/mp_ring.c                          |  554 ++
 freebsd/sys/net/mp_ring.h                          |   75 +
 freebsd/sys/sys/callout.h                          |    6 +
 freebsd/sys/x86/include/machine/intr_machdep.h     |  180 +
 .../sys/{i386 => x86}/include/machine/legacyvar.h  |   26 +-
 freebsd/sys/x86/include/machine/specialreg.h       | 1083 ++++
 freebsd/sys/x86/include/machine/x86_var.h          |  166 +
 freebsd/sys/{i386/i386 => x86/x86}/legacy.c        |   77 +-
 libbsd.py                                          |   20 +-
 rtemsbsd/i386/include/machine/clock.h              |    2 +
 rtemsbsd/include/rtems/bsd/local/opt_acpi.h        |    0
 rtemsbsd/include/x86/legacyvar.h                   |    1 +
 rtemsbsd/include/x86/x86_var.h                     |    1 +
 waf_libbsd.py                                      |   13 +-
 21 files changed, 9027 insertions(+), 46 deletions(-)
 delete mode 100644 freebsd/sys/i386/include/machine/specialreg.h
 create mode 100644 freebsd/sys/net/iflib.c
 create mode 100644 freebsd/sys/net/iflib_private.h
 create mode 100644 freebsd/sys/net/mp_ring.c
 create mode 100644 freebsd/sys/net/mp_ring.h
 create mode 100644 freebsd/sys/x86/include/machine/intr_machdep.h
 rename freebsd/sys/{i386 => x86}/include/machine/legacyvar.h (76%)
 create mode 100644 freebsd/sys/x86/include/machine/specialreg.h
 create mode 100644 freebsd/sys/x86/include/machine/x86_var.h
 rename freebsd/sys/{i386/i386 => x86/x86}/legacy.c (89%)
 create mode 100644 rtemsbsd/i386/include/machine/clock.h
 create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_acpi.h
 create mode 100644 rtemsbsd/include/x86/legacyvar.h
 create mode 100644 rtemsbsd/include/x86/x86_var.h

-- 
2.12.3



More information about the devel mailing list