Hello all,

Please review the following series of patches for unifying the 
semaphore implementation across all architectures (not posted as 
they're about 350K), as they have only been tested on x86-64.  The 
code generated is functionally identical to the earlier i386 
variant, but since gcc has no way of taking condition codes as 
results, there are two additional instructions inserted from the 
use of generic atomic operations.  All told the >6000 lines of code 
deleted makes for a much easier job for subsequent patches changing 
semaphore functionality.  Cheers,

                -ben

http://www.kvack.org/~bcrl/patches/sem-cleanup-A2/10-rename_semaphore_h.diff
        Introduce linux/semaphore.h.  Convert all users of asm/semaphore.h over 
        to linux/semaphore.h.

http://www.kvack.org/~bcrl/patches/sem-cleanup-A2/20-move_rwlock.diff
        Move i386 rwlock helper functions out of semaphore.c and into their own 
        file rwlock.c.

http://www.kvack.org/~bcrl/patches/sem-cleanup-A2/30-one_semaphore.diff
        Replace all semaphore implementations with a single implementation 
        derrived from the i386 code using atomic operations.  Tested on x86-64, 
        compiled on i386 and ia64.
-- 
"Time is what keeps everything from happening all at once." -- John Wheeler

 sem-10/arch/alpha/kernel/alpha_ksyms.c                   |    2 
 sem-10/arch/arm/common/rtctime.c                         |    2 
 sem-10/arch/arm/kernel/semaphore.c                       |    5 
 sem-10/arch/arm/mach-integrator/clock.c                  |    2 
 sem-10/arch/arm/mach-omap/clock.c                        |    2 
 sem-10/arch/arm/mach-versatile/clock.c                   |    2 
 sem-10/arch/arm/oprofile/common.c                        |    2 
 sem-10/arch/arm26/kernel/armksyms.c                      |    2 
 sem-10/arch/arm26/kernel/semaphore.c                     |    5 
 sem-10/arch/arm26/kernel/traps.c                         |    2 
 sem-10/arch/cris/kernel/crisksyms.c                      |    2 
 sem-10/arch/cris/kernel/semaphore.c                      |    4 
 sem-10/arch/frv/kernel/frv_ksyms.c                       |    2 
 sem-10/arch/frv/kernel/semaphore.c                       |    2 
 sem-10/arch/h8300/kernel/h8300_ksyms.c                   |    2 
 sem-10/arch/h8300/kernel/semaphore.c                     |    4 
 sem-10/arch/i386/kernel/cpu/common.c                     |    2 
 sem-10/arch/i386/kernel/cpu/proc.c                       |    2 
 sem-10/arch/i386/kernel/i386_ksyms.c                     |    2 
 sem-10/arch/i386/kernel/semaphore.c                      |    4 
 sem-10/arch/ia64/ia32/sys_ia32.c                         |    2 
 sem-10/arch/ia64/kernel/ia64_ksyms.c                     |    2 
 sem-10/arch/ia64/kernel/salinfo.c                        |    2 
 sem-10/arch/ia64/kernel/semaphore.c                      |    4 
 sem-10/arch/ia64/sn/kernel/sn2/sn_hwperf.c               |    2 
 sem-10/arch/m32r/kernel/m32r_ksyms.c                     |    2 
 sem-10/arch/m32r/kernel/semaphore.c                      |    4 
 sem-10/arch/m68k/atari/stram.c                           |    2 
 sem-10/arch/m68k/kernel/m68k_ksyms.c                     |    2 
 sem-10/arch/m68k/kernel/semaphore.c                      |    4 
 sem-10/arch/m68k/sun3/intersil.c                         |    2 
 sem-10/arch/m68knommu/kernel/m68k_ksyms.c                |    2 
 sem-10/arch/m68knommu/kernel/semaphore.c                 |    4 
 sem-10/arch/mips/kernel/semaphore.c                      |    2 
 sem-10/arch/mips/lasat/picvue.h                          |    2 
 sem-10/arch/mips/sgi-ip27/ip27-console.c                 |    2 
 sem-10/arch/parisc/kernel/parisc_ksyms.c                 |    2 
 sem-10/arch/parisc/kernel/semaphore.c                    |    4 
 sem-10/arch/parisc/kernel/sys_parisc32.c                 |    2 
 sem-10/arch/ppc/kernel/ppc_ksyms.c                       |    2 
 sem-10/arch/ppc/kernel/semaphore.c                       |    2 
 sem-10/arch/ppc/kernel/syscalls.c                        |    2 
 sem-10/arch/ppc/syslib/ocp.c                             |    2 
 sem-10/arch/ppc64/kernel/rtas.c                          |    2 
 sem-10/arch/ppc64/kernel/semaphore.c                     |    2 
 sem-10/arch/ppc64/kernel/sys_ppc32.c                     |    2 
 sem-10/arch/ppc64/kernel/syscalls.c                      |    2 
 sem-10/arch/ppc64/mm/imalloc.c                           |    2 
 sem-10/arch/s390/kernel/compat_linux.c                   |    2 
 sem-10/arch/s390/kernel/debug.c                          |    2 
 sem-10/arch/s390/kernel/semaphore.c                      |    2 
 sem-10/arch/sh/kernel/semaphore.c                        |    6 
 sem-10/arch/sh/kernel/sh_ksyms.c                         |    2 
 sem-10/arch/sh/mm/pg-dma.c                               |    2 
 sem-10/arch/sh64/kernel/semaphore.c                      |    6 
 sem-10/arch/sh64/kernel/sh_ksyms.c                       |    2 
 sem-10/arch/sparc/kernel/semaphore.c                     |    4 
 sem-10/arch/sparc64/kernel/sys_sparc32.c                 |    2 
 sem-10/arch/um/drivers/port_kern.c                       |    2 
 sem-10/arch/um/drivers/xterm_kern.c                      |    2 
 sem-10/arch/um/include/line.h                            |    2 
 sem-10/arch/um/kernel/trap_kern.c                        |    2 
 sem-10/arch/um/sys-i386/ksyms.c                          |    2 
 sem-10/arch/v850/kernel/semaphore.c                      |    4 
 sem-10/arch/v850/kernel/syscalls.c                       |    2 
 sem-10/arch/v850/kernel/v850_ksyms.c                     |    2 
 sem-10/arch/x86_64/ia32/sys_ia32.c                       |    2 
 sem-10/arch/x86_64/kernel/semaphore.c                    |    4 
 sem-10/arch/x86_64/kernel/x8664_ksyms.c                  |    2 
 sem-10/drivers/atm/idt77252.c                            |    2 
 sem-10/drivers/base/core.c                               |    2 
 sem-10/drivers/base/firmware_class.c                     |    2 
 sem-10/drivers/base/power/shutdown.c                     |    2 
 sem-10/drivers/block/cryptoloop.c                        |    2 
 sem-10/drivers/block/sx8.c                               |    2 
 sem-10/drivers/char/generic_serial.c                     |    2 
 sem-10/drivers/char/ipmi/ipmi_devintf.c                  |    2 
 sem-10/drivers/char/ipmi/ipmi_poweroff.c                 |    2 
 sem-10/drivers/char/rio/rioboot.c                        |    2 
 sem-10/drivers/char/rio/riocmd.c                         |    2 
 sem-10/drivers/char/rio/rioctrl.c                        |    2 
 sem-10/drivers/char/rio/rioinit.c                        |    2 
 sem-10/drivers/char/rio/riointr.c                        |    2 
 sem-10/drivers/char/rio/rioparam.c                       |    2 
 sem-10/drivers/char/rio/rioroute.c                       |    2 
 sem-10/drivers/char/rio/riotable.c                       |    2 
 sem-10/drivers/char/rio/riotty.c                         |    2 
 sem-10/drivers/char/rocket.c                             |    2 
 sem-10/drivers/char/ser_a2232.c                          |    2 
 sem-10/drivers/char/snsc.h                               |    2 
 sem-10/drivers/char/watchdog/sc1200wdt.c                 |    2 
 sem-10/drivers/fc4/fc.c                                  |    2 
 sem-10/drivers/i2c/busses/i2c-ali1535.c                  |    2 
 sem-10/drivers/ieee1394/eth1394.c                        |    2 
 sem-10/drivers/ieee1394/hosts.h                          |    2 
 sem-10/drivers/ieee1394/ieee1394_core.c                  |    2 
 sem-10/drivers/ieee1394/ieee1394_core.h                  |    2 
 sem-10/drivers/ieee1394/ieee1394_types.h                 |    2 
 sem-10/drivers/infiniband/core/device.c                  |    2 
 sem-10/drivers/infiniband/core/user_mad.c                |    2 
 sem-10/drivers/infiniband/hw/mthca/mthca_dev.h           |    2 
 sem-10/drivers/infiniband/hw/mthca/mthca_memfree.h       |    2 
 sem-10/drivers/infiniband/ulp/ipoib/ipoib.h              |    2 
 sem-10/drivers/input/joystick/iforce/iforce.h            |    2 
 sem-10/drivers/macintosh/adb.c                           |    2 
 sem-10/drivers/media/dvb/dvb-core/dmxdev.h               |    2 
 sem-10/drivers/media/dvb/dvb-core/dvb_demux.h            |    2 
 sem-10/drivers/media/dvb/dvb-core/dvb_frontend.c         |    2 
 sem-10/drivers/media/dvb/ttpci/av7110.c                  |    2 
 sem-10/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c |    2 
 sem-10/drivers/media/dvb/ttusb-dec/ttusb_dec.c           |    2 
 sem-10/drivers/media/radio/miropcm20-rds-core.c          |    2 
 sem-10/drivers/media/radio/radio-aimslab.c               |    2 
 sem-10/drivers/media/radio/radio-maestro.c               |    2 
 sem-10/drivers/media/radio/radio-maxiradio.c             |    2 
 sem-10/drivers/media/radio/radio-sf16fmi.c               |    2 
 sem-10/drivers/media/radio/radio-sf16fmr2.c              |    2 
 sem-10/drivers/media/video/arv.c                         |    2 
 sem-10/drivers/media/video/bw-qcam.c                     |    2 
 sem-10/drivers/media/video/c-qcam.c                      |    2 
 sem-10/drivers/media/video/cpia.c                        |    2 
 sem-10/drivers/media/video/ir-kbd-i2c.c                  |    2 
 sem-10/drivers/media/video/msp3400.c                     |    2 
 sem-10/drivers/media/video/planb.c                       |    2 
 sem-10/drivers/media/video/tvmixer.c                     |    2 
 sem-10/drivers/media/video/videodev.c                    |    2 
 sem-10/drivers/mtd/mtd_blkdevs.c                         |    2 
 sem-10/drivers/net/3c527.c                               |    2 
 sem-10/drivers/net/hamradio/6pack.c                      |    2 
 sem-10/drivers/net/ibmveth.c                             |    2 
 sem-10/drivers/net/plip.c                                |    2 
 sem-10/drivers/net/ppp_synctty.c                         |    2 
 sem-10/drivers/oprofile/event_buffer.h                   |    2 
 sem-10/drivers/oprofile/oprof.c                          |    2 
 sem-10/drivers/pci/hotplug/acpiphp_glue.c                |    2 
 sem-10/drivers/pci/hotplug/pciehp.h                      |    2 
 sem-10/drivers/pci/hotplug/rpadlpar_core.c               |    2 
 sem-10/drivers/pci/hotplug/shpchp.h                      |    2 
 sem-10/drivers/s390/char/sclp_cpi.c                      |    2 
 sem-10/drivers/s390/cio/ccwgroup.c                       |    2 
 sem-10/drivers/s390/cio/qdio.c                           |    2 
 sem-10/drivers/s390/net/qeth_main.c                      |    2 
 sem-10/drivers/scsi/aacraid/aachba.c                     |    2 
 sem-10/drivers/scsi/aacraid/commctrl.c                   |    2 
 sem-10/drivers/scsi/aacraid/comminit.c                   |    2 
 sem-10/drivers/scsi/aacraid/commsup.c                    |    2 
 sem-10/drivers/scsi/aacraid/dpcsup.c                     |    2 
 sem-10/drivers/scsi/aacraid/linit.c                      |    2 
 sem-10/drivers/scsi/aacraid/rkt.c                        |    2 
 sem-10/drivers/scsi/aacraid/rx.c                         |    2 
 sem-10/drivers/scsi/aacraid/sa.c                         |    2 
 sem-10/drivers/scsi/aha152x.c                            |    2 
 sem-10/drivers/scsi/dpt/dpti_i2o.h                       |    2 
 sem-10/drivers/scsi/libata-core.c                        |    2 
 sem-10/drivers/scsi/megaraid/mega_common.h               |    2 
 sem-10/drivers/scsi/megaraid/megaraid_ioctl.h            |    2 
 sem-10/drivers/scsi/qla2xxx/qla_def.h                    |    2 
 sem-10/drivers/scsi/scsi_scan.c                          |    2 
 sem-10/drivers/scsi/scsi_transport_spi.c                 |    2 
 sem-10/drivers/serial/mcfserial.c                        |    2 
 sem-10/drivers/serial/pmac_zilog.c                       |    2 
 sem-10/drivers/usb/atm/usb_atm.h                         |    2 
 sem-10/drivers/usb/class/usb-midi.c                      |    2 
 sem-10/drivers/usb/core/hub.c                            |    2 
 sem-10/drivers/usb/media/ov511.c                         |    2 
 sem-10/drivers/usb/media/pwc/pwc.h                       |    2 
 sem-10/drivers/usb/media/sn9c102.h                       |    2 
 sem-10/drivers/usb/media/w9968cf.h                       |    2 
 sem-10/drivers/usb/net/kaweth.c                          |    2 
 sem-10/drivers/usb/serial/io_ti.c                        |    2 
 sem-10/drivers/usb/serial/ti_usb_3410_5052.c             |    2 
 sem-10/drivers/w1/w1.h                                   |    2 
 sem-10/fs/cramfs/inode.c                                 |    2 
 sem-10/fs/eventpoll.c                                    |    2 
 sem-10/fs/isofs/compress.c                               |    2 
 sem-10/fs/jffs/inode-v23.c                               |    2 
 sem-10/fs/jffs/intrep.c                                  |    2 
 sem-10/fs/jffs2/compr_zlib.c                             |    2 
 sem-10/fs/locks.c                                        |    2 
 sem-10/fs/ntfs/inode.h                                   |    2 
 sem-10/fs/partitions/devfs.c                             |    2 
 sem-10/fs/reiserfs/journal.c                             |    2 
 sem-10/fs/reiserfs/xattr.c                               |    2 
 sem-10/fs/sysfs/file.c                                   |    2 
 sem-10/fs/xfs/linux-2.6/mutex.h                          |    2 
 sem-10/fs/xfs/linux-2.6/sema.h                           |    2 
 sem-10/include/asm-i386/mmu.h                            |    2 
 sem-10/include/asm-ia64/sn/nodepda.h                     |    2 
 sem-10/include/asm-ppc/ocp.h                             |    2 
 sem-10/include/asm-sh/dma.h                              |    2 
 sem-10/include/asm-x86_64/mmu.h                          |    2 
 sem-10/include/linux/cpu.h                               |    2 
 sem-10/include/linux/devfs_fs_kernel.h                   |    2 
 sem-10/include/linux/device.h                            |    2 
 sem-10/include/linux/fs.h                                |    2 
 sem-10/include/linux/i2c.h                               |    2 
 sem-10/include/linux/i2o.h                               |    2 
 sem-10/include/linux/ide.h                               |    2 
 sem-10/include/linux/if_pppox.h                          |    2 
 sem-10/include/linux/jbd.h                               |    2 
 sem-10/include/linux/jffs2_fs_i.h                        |    2 
 sem-10/include/linux/jffs2_fs_sb.h                       |    2 
 sem-10/include/linux/lp.h                                |    2 
 sem-10/include/linux/mtd/blktrans.h                      |    2 
 sem-10/include/linux/mtd/doc2000.h                       |    2 
 sem-10/include/linux/parport.h                           |    2 
 sem-10/include/linux/raid/md.h                           |    2 
 sem-10/include/linux/sched.h                             |    2 
 sem-10/include/linux/seq_file.h                          |    2 
 sem-10/include/linux/syscalls.h                          |    2 
 sem-10/include/linux/udf_fs_sb.h                         |    2 
 sem-10/include/sound/core.h                              |    2 
 sem-10/include/sound/rawmidi.h                           |    2 
 sem-10/ipc/compat.c                                      |    2 
 sem-10/kernel/cpu.c                                      |    2 
 sem-10/kernel/cpuset.c                                   |    2 
 sem-10/kernel/kthread.c                                  |    2 
 sem-10/kernel/module.c                                   |    2 
 sem-10/kernel/posix-timers.c                             |    2 
 sem-10/kernel/profile.c                                  |    2 
 sem-10/kernel/stop_machine.c                             |    2 
 sem-10/lib/reed_solomon/reed_solomon.c                   |    2 
 sem-10/net/core/flow.c                                   |    2 
 sem-10/net/ipv4/ipcomp.c                                 |    2 
 sem-10/net/ipv4/netfilter/arp_tables.c                   |    2 
 sem-10/net/ipv4/netfilter/ip_tables.c                    |    2 
 sem-10/net/ipv6/ipcomp6.c                                |    2 
 sem-10/net/ipv6/netfilter/ip6_tables.c                   |    2 
 sem-10/security/selinux/hooks.c                          |    2 
 sem-10/security/selinux/selinuxfs.c                      |    2 
 sem-10/security/selinux/ss/conditional.c                 |    2 
 sem-10/security/selinux/ss/services.c                    |    2 
 sem-10/sound/arm/sa11xx-uda1341.c                        |    2 
 sem-10/sound/core/memalloc.c                             |    2 
 sem-10/sound/core/seq/seq_midi.c                         |    2 
 sem-10/sound/oss/aci.c                                   |    2 
 sem-10/sound/oss/dmasound/dmasound_awacs.c               |    2 
 sem-10/sound/oss/via82cxxx_audio.c                       |    2 
 sem-10/sound/oss/vwsnd.c                                 |    2 
 sem-20/arch/i386/kernel/Makefile                         |    1 
 sem-20/arch/i386/kernel/rwlock.c                         |   50 ++
 sem-20/arch/i386/kernel/semaphore.c                      |   33 -
 sem-30/Makefile                                          |    2 
 sem-30/arch/alpha/kernel/Makefile                        |    2 
 sem-30/arch/alpha/kernel/alpha_ksyms.c                   |    9 
 sem-30/arch/alpha/kernel/semaphore.c                     |  224 ------------
 sem-30/arch/arm/kernel/Makefile                          |    2 
 sem-30/arch/arm/kernel/semaphore.c                       |  219 ------------
 sem-30/arch/arm26/kernel/Makefile                        |    2 
 sem-30/arch/arm26/kernel/semaphore.c                     |  222 ------------
 sem-30/arch/cris/kernel/Makefile                         |    2 
 sem-30/arch/cris/kernel/crisksyms.c                      |    6 
 sem-30/arch/cris/kernel/semaphore.c                      |  130 -------
 sem-30/arch/frv/kernel/Makefile                          |    2 
 sem-30/arch/frv/kernel/semaphore.c                       |  156 --------
 sem-30/arch/h8300/kernel/Makefile                        |    2 
 sem-30/arch/h8300/kernel/semaphore.c                     |  133 -------
 sem-30/arch/i386/kernel/Makefile                         |    2 
 sem-30/arch/i386/kernel/i386_ksyms.c                     |    4 
 sem-30/arch/i386/kernel/semaphore.c                      |  264 ---------------
 sem-30/arch/ia64/kernel/Makefile                         |    2 
 sem-30/arch/ia64/kernel/ia64_ksyms.c                     |    6 
 sem-30/arch/ia64/kernel/semaphore.c                      |  165 ---------
 sem-30/arch/m32r/kernel/Makefile                         |    2 
 sem-30/arch/m32r/kernel/m32r_ksyms.c                     |    4 
 sem-30/arch/m32r/kernel/semaphore.c                      |  186 ----------
 sem-30/arch/m68k/kernel/Makefile                         |    2 
 sem-30/arch/m68k/kernel/m68k_ksyms.c                     |    5 
 sem-30/arch/m68k/kernel/semaphore.c                      |  133 -------
 sem-30/arch/m68k/lib/Makefile                            |    2 
 sem-30/arch/m68k/lib/semaphore.S                         |   53 ---
 sem-30/arch/m68knommu/kernel/Makefile                    |    2 
 sem-30/arch/m68knommu/kernel/m68k_ksyms.c                |    5 
 sem-30/arch/m68knommu/kernel/semaphore.c                 |  134 -------
 sem-30/arch/m68knommu/lib/Makefile                       |    2 
 sem-30/arch/m68knommu/lib/semaphore.S                    |   67 ---
 sem-30/arch/mips/kernel/Makefile                         |    2 
 sem-30/arch/mips/kernel/semaphore.c                      |  164 ---------
 sem-30/arch/parisc/kernel/Makefile                       |    2 
 sem-30/arch/parisc/kernel/parisc_ksyms.c                 |    5 
 sem-30/arch/parisc/kernel/semaphore.c                    |  102 -----
 sem-30/arch/ppc/kernel/Makefile                          |    2 
 sem-30/arch/ppc/kernel/ppc_ksyms.c                       |    3 
 sem-30/arch/ppc/kernel/semaphore.c                       |  131 -------
 sem-30/arch/ppc64/kernel/Makefile                        |    2 
 sem-30/arch/ppc64/kernel/semaphore.c                     |  136 -------
 sem-30/arch/s390/kernel/Makefile                         |    2 
 sem-30/arch/s390/kernel/s390_ksyms.c                     |    7 
 sem-30/arch/s390/kernel/semaphore.c                      |  108 ------
 sem-30/arch/sh/kernel/Makefile                           |    2 
 sem-30/arch/sh/kernel/semaphore.c                        |  139 -------
 sem-30/arch/sh/kernel/sh_ksyms.c                         |    6 
 sem-30/arch/sh64/kernel/Makefile                         |    2 
 sem-30/arch/sh64/kernel/semaphore.c                      |  140 -------
 sem-30/arch/sh64/kernel/sh_ksyms.c                       |    3 
 sem-30/arch/sparc/kernel/Makefile                        |    2 
 sem-30/arch/sparc/kernel/semaphore.c                     |  155 --------
 sem-30/arch/sparc/kernel/sparc_ksyms.c                   |    5 
 sem-30/arch/sparc64/kernel/Makefile                      |    2 
 sem-30/arch/sparc64/kernel/semaphore.c                   |  251 --------------
 sem-30/arch/sparc64/kernel/sparc64_ksyms.c               |    6 
 sem-30/arch/um/sys-i386/ksyms.c                          |    6 
 sem-30/arch/v850/kernel/Makefile                         |    2 
 sem-30/arch/v850/kernel/semaphore.c                      |  166 ---------
 sem-30/arch/v850/kernel/v850_ksyms.c                     |    6 
 sem-30/arch/x86_64/kernel/Makefile                       |    2 
 sem-30/arch/x86_64/kernel/semaphore.c                    |  180 ----------
 sem-30/arch/x86_64/kernel/x8664_ksyms.c                  |    4 
 sem-30/arch/x86_64/lib/thunk.S                           |   16 
 sem-30/include/asm-alpha/semaphore.h                     |  153 --------
 sem-30/include/asm-arm/semaphore.h                       |  106 ------
 sem-30/include/asm-arm26/semaphore.h                     |  103 -----
 sem-30/include/asm-cris/semaphore.h                      |  142 --------
 sem-30/include/asm-frv/semaphore.h                       |  161 ---------
 sem-30/include/asm-h8300/semaphore-helper.h              |   86 ----
 sem-30/include/asm-h8300/semaphore.h                     |  194 -----------
 sem-30/include/asm-i386/semaphore.h                      |  194 -----------
 sem-30/include/asm-ia64/semaphore.h                      |  102 -----
 sem-30/include/asm-m32r/semaphore.h                      |  205 -----------
 sem-30/include/asm-m68k/semaphore.h                      |  167 ---------
 sem-30/include/asm-m68knommu/semaphore.h                 |  157 --------
 sem-30/include/asm-mips/semaphore.h                      |  112 ------
 sem-30/include/asm-parisc/semaphore.h                    |  147 --------
 sem-30/include/asm-ppc/semaphore.h                       |  111 ------
 sem-30/include/asm-ppc64/semaphore.h                     |   98 -----
 sem-30/include/asm-s390/semaphore.h                      |  110 ------
 sem-30/include/asm-sh/semaphore.h                        |  119 ------
 sem-30/include/asm-sh64/semaphore.h                      |  123 ------
 sem-30/include/asm-sparc/semaphore.h                     |  196 -----------
 sem-30/include/asm-sparc64/semaphore.h                   |   57 ---
 sem-30/include/asm-um/semaphore.h                        |    6 
 sem-30/include/asm-v850/semaphore.h                      |   88 -----
 sem-30/include/asm-x86_64/semaphore.h                    |  196 -----------
 sem-30/include/linux/semaphore.h                         |  147 ++++++++
 sem-30/kernel/Makefile                                   |    3 
 sem-30/kernel/semaphore.c                                |  179 ++++++++++
 336 files changed, 659 insertions(+), 7315 deletions(-)

Reply via email to