<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>41059135 - [ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL.</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#41059135</link>
        <description>[ath] [ath_hal] (etc, etc) - begin the task of re-modularising the HAL.In the deep past, when this code compiled as a binary module, ath_halbuilt as a module.  This allowed custom, smaller HAL modules to be built.This was especially beneficial for small embedded platforms where youdidn&apos;t require /everything/ just to run.However, sometime around the HAL opening fanfare, the HAL landed hereas one big driver+HAL thing, and a lot of the (dirty) infrastructure(ie, #ifdef AH_SUPPORT_XXX) to build specific subsets of the HAL went away.This was retained in sys/conf/files as &quot;ath_hal_XXX&quot; but it wasn&apos;treally floated up to the modules themselves.I&apos;m now in a position where for the reaaaaaly embedded boards (both thereally old and the last couple generation of QCA MIPS boards) having acut down HAL module and driver loaded at runtime is /actually/ beneficial.This reduces the kernel size down by quite a bit.  The MIPS modules looklike this:adrian@gertrude:~/work/freebsd/head-embedded/src % ls -l ../root/mips_ap/boot/kernel.CARAMBOLA2/ath*ko-r-xr-xr-x  1 adrian  adrian    5076 May 23 23:45 ../root/mips_ap/boot/kernel.CARAMBOLA2/ath_dfs.ko-r-xr-xr-x  1 adrian  adrian  100588 May 23 23:45 ../root/mips_ap/boot/kernel.CARAMBOLA2/ath_hal.ko-r-xr-xr-x  1 adrian  adrian  627324 May 23 23:45 ../root/mips_ap/boot/kernel.CARAMBOLA2/ath_hal_ar9300.ko-r-xr-xr-x  1 adrian  adrian  314588 May 23 23:45 ../root/mips_ap/boot/kernel.CARAMBOLA2/ath_main.ko-r-xr-xr-x  1 adrian  adrian   23472 May 23 23:45 ../root/mips_ap/boot/kernel.CARAMBOLA2/ath_rate.koAnd the x86 versions, like this:root@gertrude:/home/adrian # ls -l /boot/kernel/ath*ko-r-xr-xr-x  1 root  wheel   36632 May 24 18:32 /boot/kernel/ath_dfs.ko-r-xr-xr-x  1 root  wheel  134440 May 24 18:32 /boot/kernel/ath_hal.ko-r-xr-xr-x  1 root  wheel   82320 May 24 18:32 /boot/kernel/ath_hal_ar5210.ko-r-xr-xr-x  1 root  wheel  104976 May 24 18:32 /boot/kernel/ath_hal_ar5211.ko-r-xr-xr-x  1 root  wheel  236144 May 24 18:32 /boot/kernel/ath_hal_ar5212.ko-r-xr-xr-x  1 root  wheel  336104 May 24 18:32 /boot/kernel/ath_hal_ar5416.ko-r-xr-xr-x  1 root  wheel  598336 May 24 18:32 /boot/kernel/ath_hal_ar9300.ko-r-xr-xr-x  1 root  wheel  406144 May 24 18:32 /boot/kernel/ath_main.ko-r-xr-xr-x  1 root  wheel   55352 May 24 18:32 /boot/kernel/ath_rate.ko.. so you can see, not building the whole HAL can save quite a bit.For example, if you don&apos;t need AR9300 support, you can actually avoidwasting half a megabyte of RAM.  On embedded routers this is quite abig deal.The AR9300 HAL can be later further shrunk because, hilariously,it indeed supports AH_SUPPORT_&lt;xxx&gt; for optionally adding chipset support.(I&apos;ll chase that down later as it&apos;s quite a big savings if you&apos;re onlybuilding for a single embedded target.)So:* Create a very hackish way to load/unload HAL modules* Create module metadata for each HAL subtype - ah_osdep_arXXXX.c* Create module metadata for ath_rate and ath_dfs (bluetooth is  currently just built as part of it)* .. yes, this means we could actually build multiple rate control  modules and pick one at load time, but I&apos;d rather just glue this  into net80211&apos;s rate control code.  Oh well, baby steps.* Main driver is now &quot;ath_main&quot;* Create an &quot;if_ath&quot; module that does what the ye olde one did -  load PCI glue, main driver, HAL and all child modules.  In this way, if you have &quot;if_ath_load=YES&quot; in /boot/modules.conf  it will load everything the old way and stuff should still work.* For module autoloading purposes, I actually /did/ fix up  the name of the modules in if_ath_pci and if_ath_ahb.If you want to selectively load things (eg on ye cheape ARM/MIPS platformswhere RAM is at a premium) you should:* load ath_hal* load the chip modules in question* load ath_rate, ath_dfs* load ath_main* load if_ath_pci and/or if_ath_ahb depending upon your particular  bus bind type - this is where probe/attach is done.TODO:* AR5312 module and associated pieces - yes, we have the SoC side support  now so the wifi support would be good to &quot;round things out&quot;;* Just nuke AH_SUPPORT_AR5416 for now and always bloat the packet  structures; this&apos;ll simplify other things.* Should add a simple refcnt thing to the HAL RF/chip modules so you  can&apos;t unload them whilst you&apos;re using them.* Manpage updates, UPDATING if appropriate, etc.

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Thu, 25 May 2017 04:18:46 +0000</pubDate>
        <dc:creator>Adrian Chadd &lt;adrian@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3fe92528 - o move ath hal os glue code from the hal to the driver: this code was</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#3fe92528</link>
        <description>o move ath hal os glue code from the hal to the driver: this code was  part of the hal distribution early on when the hal was built for  each os but it&apos;s been portable for a long time so move the os-specific  code out (and off the vendor branch)o correct the copyright on ah_osdep.?; it was mistakenly given a  restricted license and not a dual-bsd/gpl licenseo remove the module api definition as it was never usedo fixup include paths for move of ah_osdep.hMFC after:	2 weeks

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Mon, 18 Sep 2006 16:49:15 +0000</pubDate>
        <dc:creator>Sam Leffler &lt;sam@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>a743df5c - add powerpc glue</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#a743df5c</link>
        <description>add powerpc glueMFC after:	1 month

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Thu, 08 Jun 2006 23:36:35 +0000</pubDate>
        <dc:creator>Sam Leffler &lt;sam@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>f6ad8b09 - fix braino that broke building on amd64</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#f6ad8b09</link>
        <description>fix braino that broke building on amd64Submitted by:	Pascal HofsteeMFC after:	2 weeks

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Mon, 08 May 2006 04:04:06 +0000</pubDate>
        <dc:creator>Sam Leffler &lt;sam@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>7dfd9569 - fix build on sparc</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#7dfd9569</link>
        <description>fix build on sparcMFC after:	1 month

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Sat, 06 May 2006 23:14:19 +0000</pubDate>
        <dc:creator>Sam Leffler &lt;sam@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>6e0da4f7 - Fix building for non-i386 platforms.</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#6e0da4f7</link>
        <description>Fix building for non-i386 platforms.Submitted by:	Coleman Kane

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Tue, 18 Jan 2005 03:28:08 +0000</pubDate>
        <dc:creator>Sam Leffler &lt;sam@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>63f9a4cb - Update/new modules for net80211 and ath changes.</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#63f9a4cb</link>
        <description>Update/new modules for net80211 and ath changes.

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Wed, 08 Dec 2004 17:38:38 +0000</pubDate>
        <dc:creator>Sam Leffler &lt;sam@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3d238d9e - nitpicking</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#3d238d9e</link>
        <description>nitpickingSubmitted by:	Ruslan Ermilov &lt;ru@FreeBSD.org&gt;

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Mon, 30 Jun 2003 05:25:36 +0000</pubDate>
        <dc:creator>Sam Leffler &lt;sam@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>b52f49a9 - module for atheros hal</title>
        <link>http://172.16.0.5:8080/history/freebsd-12.1/sys/modules/ath_hal/Makefile#b52f49a9</link>
        <description>module for atheros hal

            List of files:
            /freebsd-12.1/sys/modules/ath_hal/Makefile</description>
        <pubDate>Wed, 25 Jun 2003 14:43:50 +0000</pubDate>
        <dc:creator>Sam Leffler &lt;sam@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
