Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 61ee6df in mainline


Ignore:
Timestamp:
2010-02-16T22:16:33Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master
Children:
7fb2ce3
Parents:
76ecb300 (diff), b20e7c0 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge the networking branch and necessary fixes.

Files:
173 added
31 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    r76ecb300 r61ee6df  
    509509% Write core files
    510510! CONFIG_WRITE_CORE_FILES (n/y)
     511
     512% Networking architecture
     513@ "none" No networking
     514@ "modular" Modular
     515@ "module" One module
     516! NETWORKING (choice)
     517
     518% DP8390 (NE2k) network interface
     519! [NETWORKING=modular|NETWORKING=module] CONFIG_NETIF_DP8390 (y/n)
     520
  • boot/Makefile.common

    r76ecb300 r61ee6df  
    8585        COMPONENTS += $(USPACEDIR)/srv/fs/fat/fat
    8686endif
     87
     88CFG =
     89
     90NET_SRVS = \
     91        $(USPACEDIR)/srv/net/net/net \
     92        $(USPACEDIR)/srv/net/netif/lo/lo \
     93        $(USPACEDIR)/srv/net/netif/dp8390/dp8390 \
     94        $(USPACEDIR)/srv/net/nil/eth/eth \
     95        $(USPACEDIR)/srv/net/nil/nildummy/nildummy \
     96        $(USPACEDIR)/srv/net/app/echo/echo
     97
     98NET_APPS = \
     99        $(USPACEDIR)/srv/net/net/start/netstart \
     100        $(USPACEDIR)/srv/net/app/ping/ping \
     101        $(USPACEDIR)/srv/net/app/nettest1/nettest1 \
     102        $(USPACEDIR)/srv/net/app/nettest2/nettest2
     103
     104ifneq ($(NETWORKING), none)
     105NET_CFG = \
     106        $(USPACEDIR)/srv/net/cfg/$(NETWORKING)/general \
     107        $(USPACEDIR)/srv/net/cfg/$(NETWORKING)/lo \
     108        $(USPACEDIR)/srv/net/cfg/$(NETWORKING)/ne2k
     109endif
     110
     111ifeq ($(NETWORKING), module)
     112        RD_APPS +=      $(NET_APPS)
     113
     114        RD_SRVS +=      $(NET_SRVS)
     115
     116        CFG             +=      $(NET_CFG)
     117else
     118ifeq ($(NETWORKING), modular)
     119        RD_APPS +=      $(NET_APPS)
     120
     121        RD_SRVS +=      $(NET_SRVS)
     122
     123        RD_SRVS +=      $(USPACEDIR)/srv/net/il/ip/ip \
     124                        $(USPACEDIR)/srv/net/il/arp/arp \
     125                        $(USPACEDIR)/srv/net/tl/udp/udp \
     126                        $(USPACEDIR)/srv/net/tl/tcp/tcp \
     127                        $(USPACEDIR)/srv/net/tl/icmp/icmp
     128
     129        CFG             +=      $(NET_CFG)
     130endif
     131endif
     132
  • boot/arch/amd64/Makefile.inc

    • Property mode changed from 100644 to 100755
    r76ecb300 r61ee6df  
    3939build: $(BASE)/image.iso
    4040
    41 $(BASE)/image.iso: arch/$(BARCH)/grub/stage2_eltorito $(KERNELDIR)/kernel.bin $(INIT_TASKS) $(RD_SRVS) $(RD_APPS)
     41$(BASE)/image.iso: arch/$(BARCH)/grub/stage2_eltorito $(KERNELDIR)/kernel.bin $(INIT_TASKS) $(RD_SRVS) $(RD_APPS) $(CFG)
    4242        mkdir -p $(TMP)/boot/grub
    4343        cp arch/$(BARCH)/grub/stage2_eltorito $(TMP)/boot/grub/
     
    5656        done
    5757       
     58        rm -f $(USPACEDIR)/dist/srv/*
     59        rm -f $(USPACEDIR)/dist/app/*
     60        rm -f $(USPACEDIR)/dist/cfg/net/*
     61       
    5862        cp $(KERNELDIR)/kernel.bin $(TMP)/boot/
    5963        for task in $(INIT_TASKS) ; do \
     
    6569        for file in $(RD_APPS) ; do \
    6670                cp $$file $(USPACEDIR)/dist/app/ ; \
     71        done
     72        for file in $(NET_CFG) ; do \
     73                cp $$file $(USPACEDIR)/dist/cfg/net/ ; \
    6774        done
    6875       
     
    7885
    7986clean:
     87        rm -f $(USPACEDIR)/dist/srv/*
     88        rm -f $(USPACEDIR)/dist/app/*
     89        rm -f $(USPACEDIR)/dist/cfg/net/*
     90
    8091        for file in $(RD_SRVS) ; do \
    8192                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
     
    8495                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    8596        done
     97        for file in $(NET_CFG) ; do \
     98                rm -f $(USPACEDIR)/dist/cfg/net/`basename $$file` ; \
     99        done
    86100        rm -fr $(TMP)
    87101        rm -f $(BASE)/image.iso
  • boot/arch/arm32/loader/Makefile

    r76ecb300 r61ee6df  
    3737
    3838clean:
     39        rm -f $(USPACEDIR)/dist/srv/*
     40        rm -f $(USPACEDIR)/dist/app/*
     41        rm -f $(USPACEDIR)/dist/cfg/net/*
     42
    3943        for file in $(RD_SRVS) ; do \
    4044                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
     
    4347                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    4448        done
     49        for file in $(NET_CFG) ; do \
     50                rm -f $(USPACEDIR)/dist/cfg/net/`basename $$file` ; \
     51        done
    4552        rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
    4653        find . -name '*.o' -follow -exec rm \{\} \;
  • boot/arch/arm32/loader/Makefile.build

    r76ecb300 r61ee6df  
    7676
    7777$(DEPEND):
     78        rm -f $(USPACEDIR)/dist/srv/*
     79        rm -f $(USPACEDIR)/dist/app/*
     80        rm -f $(USPACEDIR)/dist/cfg/net/*
     81
    7882        for file in $(RD_SRVS) ; do \
    7983                cp $$file $(USPACEDIR)/dist/srv/ ; \
     
    8185        for file in $(RD_APPS) ; do \
    8286                cp $$file $(USPACEDIR)/dist/app/ ; \
     87        done
     88        for file in $(NET_CFG) ; do \
     89                cp $$file $(USPACEDIR)/dist/cfg/net/ ; \
    8390        done
    8491ifeq ($(RDFMT),tmpfs)
  • boot/arch/ia64/loader/Makefile

    r76ecb300 r61ee6df  
    4040        $(MAKE) -C gefi clean
    4141        $(MAKE) -C gefi/HelenOS clean
     42
     43        rm -f $(USPACEDIR)/dist/srv/*
     44        rm -f $(USPACEDIR)/dist/app/*
     45        rm -f $(USPACEDIR)/dist/cfg/net/*
     46
    4247        for file in $(RD_SRVS) ; do \
    4348                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
     
    4651                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    4752        done
     53        for file in $(NET_CFG) ; do \
     54                rm -f $(USPACEDIR)/dist/cfg/net/`basename $$file` ; \
     55        done
    4856        rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(HELLO) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
    4957        find . -name '*.o' -follow -exec rm \{\} \;
  • boot/arch/ia64/loader/Makefile.build

    r76ecb300 r61ee6df  
    7777
    7878$(DEPEND):
     79        rm -f $(USPACEDIR)/dist/srv/*
     80        rm -f $(USPACEDIR)/dist/app/*
     81        rm -f $(USPACEDIR)/dist/cfg/net/*
     82
    7983        for file in $(RD_SRVS) ; do \
    8084                cp $$file $(USPACEDIR)/dist/srv/ ; \
     
    8286        for file in $(RD_APPS) ; do \
    8387                cp $$file $(USPACEDIR)/dist/app/ ; \
     88        done
     89        for file in $(NET_CFG) ; do \
     90                cp $$file $(USPACEDIR)/dist/cfg/net/ ; \
    8491        done
    8592ifeq ($(RDFMT),tmpfs)
  • boot/arch/mips32/loader/Makefile

    r76ecb300 r61ee6df  
    3737
    3838clean:
     39        rm -f $(USPACEDIR)/dist/srv/*
     40        rm -f $(USPACEDIR)/dist/app/*
     41        rm -f $(USPACEDIR)/dist/cfg/net/*
     42
    3943        for file in $(RD_SRVS) ; do \
    4044                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
     
    4347                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    4448        done
     49        for file in $(NET_CFG) ; do \
     50                rm -f $(USPACEDIR)/dist/cfg/net/`basename $$file` ; \
     51        done
    4552        rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(RAW) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
    4653        find . -name '*.o' -follow -exec rm \{\} \;
  • boot/arch/mips32/loader/Makefile.build

    r76ecb300 r61ee6df  
    7777
    7878$(DEPEND):
     79        rm -f $(USPACEDIR)/dist/srv/*
     80        rm -f $(USPACEDIR)/dist/app/*
     81        rm -f $(USPACEDIR)/dist/cfg/net/*
     82
    7983        for file in $(RD_SRVS) ; do \
    8084                cp $$file $(USPACEDIR)/dist/srv/ ; \
     
    8286        for file in $(RD_APPS) ; do \
    8387                cp $$file $(USPACEDIR)/dist/app/ ; \
     88        done
     89        for file in $(NET_CFG) ; do \
     90                cp $$file $(USPACEDIR)/dist/cfg/net/ ; \
    8491        done
    8592ifeq ($(RDFMT),tmpfs)
  • boot/arch/ppc32/loader/Makefile

    r76ecb300 r61ee6df  
    3737
    3838clean:
     39        rm -f $(USPACEDIR)/dist/srv/*
     40        rm -f $(USPACEDIR)/dist/app/*
     41        rm -f $(USPACEDIR)/dist/cfg/net/*
     42
    3943        for file in $(RD_SRVS) ; do \
    4044                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
     
    4347                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    4448        done
     49        for file in $(NET_CFG) ; do \
     50                rm -f $(USPACEDIR)/dist/cfg/net/`basename $$file` ; \
     51        done
    4552        rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
    4653        find . -name '*.o' -follow -exec rm \{\} \;
  • boot/arch/ppc32/loader/Makefile.build

    r76ecb300 r61ee6df  
    7777
    7878$(DEPEND):
     79        rm -f $(USPACEDIR)/dist/srv/*
     80        rm -f $(USPACEDIR)/dist/app/*
     81        rm -f $(USPACEDIR)/dist/cfg/net/*
     82
    7983        for file in $(RD_SRVS) ; do \
    8084                cp $$file $(USPACEDIR)/dist/srv/ ; \
     
    8286        for file in $(RD_APPS) ; do \
    8387                cp $$file $(USPACEDIR)/dist/app/ ; \
     88        done
     89        for file in $(NET_CFG) ; do \
     90                cp $$file $(USPACEDIR)/dist/cfg/net/ ; \
    8491        done
    8592ifeq ($(RDFMT),tmpfs)
  • boot/arch/sparc64/loader/Makefile

    r76ecb300 r61ee6df  
    3737
    3838clean:
     39        rm -f $(USPACEDIR)/dist/srv/*
     40        rm -f $(USPACEDIR)/dist/app/*
     41        rm -f $(USPACEDIR)/dist/cfg/net/*
     42
    3943        for file in $(RD_SRVS) $(RD_SRVS_GENERIC) ; do \
    4044                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
     
    4347                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    4448        done
     49        for file in $(NET_CFG) ; do \
     50                rm -f $(USPACEDIR)/dist/cfg/net/`basename $$file` ; \
     51        done
    4552        rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
    4653        find . -name '*.o' -follow -exec rm \{\} \;
  • boot/arch/sparc64/loader/Makefile.build

    r76ecb300 r61ee6df  
    8888
    8989$(DEPEND):
     90        rm -f $(USPACEDIR)/dist/srv/*
     91        rm -f $(USPACEDIR)/dist/app/*
     92        rm -f $(USPACEDIR)/dist/cfg/net/*
     93
    9094        for file in $(RD_SRVS) ; do \
    9195                cp $$file $(USPACEDIR)/dist/srv/ ; \
     
    9397        for file in $(RD_APPS) ; do \
    9498                cp $$file $(USPACEDIR)/dist/app/ ; \
     99        done
     100        for file in $(NET_CFG) ; do \
     101                cp $$file $(USPACEDIR)/dist/cfg/net/ ; \
    95102        done
    96103ifeq ($(RDFMT),tmpfs)
  • defaults/amd64/Makefile.config

    r76ecb300 r61ee6df  
    6161# Mount /data on startup
    6262CONFIG_MOUNT_DATA = n
     63
     64# Default networking architecture
     65NETWORKING = modular
  • defaults/arm32/Makefile.config

    r76ecb300 r61ee6df  
    3737# Mount /data on startup
    3838CONFIG_MOUNT_DATA = n
     39
     40# Default networking architecture
     41NETWORKING = none
  • defaults/ia32/Makefile.config

    r76ecb300 r61ee6df  
    6767# Mount /data on startup
    6868CONFIG_MOUNT_DATA = n
     69
     70# Default networking architecture
     71NETWORKING = modular
  • defaults/ia64/Makefile.config

    r76ecb300 r61ee6df  
    4949# Mount /data on startup
    5050CONFIG_MOUNT_DATA = n
     51
     52# Default networking architecture
     53NETWORKING = modular
  • defaults/mips32/Makefile.config

    r76ecb300 r61ee6df  
    4343# Mount /data on startup
    4444CONFIG_MOUNT_DATA = n
     45
     46# Default networking architecture
     47NETWORKING = none
  • defaults/ppc32/Makefile.config

    r76ecb300 r61ee6df  
    4343# Mount /data on startup
    4444CONFIG_MOUNT_DATA = n
     45
     46# Default networking architecture
     47NETWORKING = none
  • defaults/sparc64/Makefile.config

    r76ecb300 r61ee6df  
    6161# Mount /data on startup
    6262CONFIG_MOUNT_DATA = n
     63
     64# Default networking architecture
     65NETWORKING = modular
  • defaults/sparc64/sun4v/Makefile.config

    r76ecb300 r61ee6df  
    1414
    1515CONFIG_FB = n
     16
     17NETWORKING = none
     18
  • kernel/arch/amd64/include/interrupt.h

    r76ecb300 r61ee6df  
    5454#define IRQ_PIC_SPUR            7
    5555#define IRQ_MOUSE               12
     56#define IRQ_DP8390              9
    5657
    5758/* this one must have four least significant bits set to ones */
  • kernel/arch/amd64/src/amd64.c

    r76ecb300 r61ee6df  
    228228            (uintptr_t) I8042_BASE);
    229229#endif
     230
     231#ifdef CONFIG_NETIF_DP8390
     232        trap_virtual_enable_irqs(1 << IRQ_DP8390);
     233        sysinfo_set_item_val("netif.dp8390.inr", NULL, IRQ_DP8390);
     234#endif
    230235}
    231236
  • kernel/arch/ia32/include/interrupt.h

    r76ecb300 r61ee6df  
    5454#define IRQ_PIC_SPUR    7
    5555#define IRQ_MOUSE       12
     56#define IRQ_DP8390      9
    5657
    5758/* this one must have four least significant bits set to ones */
  • kernel/arch/ia32/src/ia32.c

    r76ecb300 r61ee6df  
    186186            (uintptr_t) I8042_BASE);
    187187#endif
     188
     189#ifdef CONFIG_NETIF_DP8390
     190        trap_virtual_enable_irqs(1 << IRQ_DP8390);
     191        sysinfo_set_item_val("netif.dp8390.inr", NULL, IRQ_DP8390);
     192#endif
    188193}
    189194
  • kernel/arch/ia64/include/interrupt.h

    r76ecb300 r61ee6df  
    6161#define IRQ_KBD    (0x01 + LEGACY_INTERRUPT_BASE)
    6262#define IRQ_MOUSE  (0x0c + LEGACY_INTERRUPT_BASE)
     63#define IRQ_DP8390 (0x09 + LEGACY_INTERRUPT_BASE)
    6364
    6465/** General Exception codes. */
  • kernel/arch/ia64/src/ia64.c

    r76ecb300 r61ee6df  
    212212            (uintptr_t) I8042_BASE);
    213213#endif
    214        
     214
     215#ifdef CONFIG_NETIF_DP8390
     216        sysinfo_set_item_val("netif.dp8390.inr", NULL, IRQ_DP8390);
     217#endif
     218
    215219        sysinfo_set_item_val("ia64_iospace", NULL, true);
    216220        sysinfo_set_item_val("ia64_iospace.address", NULL, true);
  • kernel/generic/include/ipc/ipc.h

    r76ecb300 r61ee6df  
    227227#ifdef KERNEL
    228228
    229 #define IPC_MAX_PHONES  16
     229#define IPC_MAX_PHONES  32
    230230
    231231#include <synch/spinlock.h>
  • uspace/Makefile

    r76ecb300 r61ee6df  
    6363        srv/hid/fb \
    6464        srv/hid/kbd \
    65         srv/hw/char/i8042
     65        srv/hw/char/i8042 \
     66        srv/net
    6667
    6768ifneq ($(UARCH),abs32le)
  • uspace/doc/doxygroups.h

    r76ecb300 r61ee6df  
    2626         * @ingroup srvcs
    2727         */
    28        
     28
     29        /**
     30         * @defgroup net Networking Stack
     31         * @ingroup srvcs
     32         */
     33
     34                /**
     35                 * @defgroup netif Network interface drivers
     36                 * @ingroup net
     37                 */
     38
     39                        /**
     40                         * @defgroup lo Loopback Service
     41                         * @ingroup netif
     42                         */
     43
     44                        /**
     45                         * @defgroup dp8390 Generic DP8390 network interface family service
     46                         * @ingroup netif
     47                         */
     48
     49                                /**
     50                                 * @defgroup ne2k NE2000 network interface family
     51                                 * @ingroup dp8390
     52                                 */
     53
     54                /**
     55                 * @defgroup net_nil Network interface layer
     56                 * @ingroup net
     57                 */
     58
     59                        /**
     60                         * @defgroup eth Ethernet (IEEE 802.3) network interface layer Service
     61                         * @ingroup net_nil
     62                         */
     63
     64                        /**
     65                         * @defgroup nildummy Dummy network interface layer Service
     66                         * @ingroup net_nil
     67                         */
     68
     69                /**
     70                 * @defgroup net_il Inter-networking layer
     71                 * @ingroup net
     72                 */
     73
     74                        /**
     75                         * @defgroup arp Address Resolution Protocol (ARP) Service
     76                         * @ingroup net_il
     77                         */
     78
     79                        /**
     80                         * @defgroup ip Internet Protocol (IP) Service
     81                         * @ingroup net_il
     82                         */
     83
     84                /**
     85                 * @defgroup net_tl Transport layer
     86                 * @ingroup net
     87                 */
     88
     89                        /**
     90                         * @defgroup icmp Internet Control Message Protocol (ICMP) Service
     91                         * @ingroup net_tl
     92                         */
     93
     94                        /**
     95                         * @defgroup udp User Datagram Protocol (UDP) Service
     96                         * @ingroup net_tl
     97                         */
     98
     99                        /**
     100                         * @defgroup tcp Transmission Control Protocol (TCP) Service
     101                         * @ingroup net_tl
     102                         */
     103
     104                /**
     105                 * @defgroup packet Packet management system
     106                 * @ingroup net
     107                 */
     108
     109                /**
     110                 * @defgroup net_app Applications
     111                 * @ingroup net
     112                 */
     113
     114                        /**
     115                         * @defgroup echo Echo Service
     116                         * @ingroup net_app
     117                         */
     118
     119                        /**
     120                         * @defgroup ping Ping
     121                         * @ingroup net_app
     122                         */
     123
     124                        /**
     125                         * @defgroup nettest Networking tests
     126                         * @ingroup net_app
     127                         */
     128
     129                /**
     130                 * @defgroup net_lib Application library
     131                 * @ingroup net
     132                 */
     133
     134                        /**
     135                         * @defgroup socket Sockets
     136                         * @ingroup net_lib
     137                         */
     138
     139                        /**
     140                         * @defgroup netdb Netdb
     141                         * @ingroup net_lib
     142                         */
     143
    29144        /**
    30145         * @cond amd64
  • uspace/lib/libc/include/ipc/services.h

    r76ecb300 r61ee6df  
    4747        SERVICE_FHC,
    4848        SERVICE_OBIO,
    49         SERVICE_CLIPBOARD
     49        SERVICE_CLIPBOARD,
     50        SERVICE_NETWORKING,
     51        SERVICE_LO,
     52        SERVICE_DP8390,
     53        SERVICE_ETHERNET,
     54        SERVICE_NILDUMMY,
     55        SERVICE_IP,
     56        SERVICE_ARP,
     57        SERVICE_RARP,
     58        SERVICE_ICMP,
     59        SERVICE_UDP,
     60        SERVICE_TCP,
     61        SERVICE_SOCKET
    5062} services_t;
    5163
Note: See TracChangeset for help on using the changeset viewer.