ocf-linux-users Mailing List for Open Cryptographic Framework for Linux (Page 12)
Brought to you by:
david-m
You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(12) |
Sep
(39) |
Oct
(16) |
Nov
(7) |
Dec
(17) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(10) |
Feb
(1) |
Mar
(18) |
Apr
(8) |
May
(14) |
Jun
(12) |
Jul
(35) |
Aug
(11) |
Sep
(3) |
Oct
(3) |
Nov
(7) |
Dec
(2) |
2009 |
Jan
(20) |
Feb
(12) |
Mar
(31) |
Apr
(20) |
May
(31) |
Jun
|
Jul
(2) |
Aug
(5) |
Sep
(11) |
Oct
|
Nov
(2) |
Dec
(6) |
2010 |
Jan
(20) |
Feb
(10) |
Mar
(16) |
Apr
|
May
(17) |
Jun
|
Jul
(2) |
Aug
(30) |
Sep
(6) |
Oct
|
Nov
|
Dec
(1) |
2011 |
Jan
|
Feb
(9) |
Mar
(7) |
Apr
(6) |
May
(20) |
Jun
(2) |
Jul
(13) |
Aug
(4) |
Sep
(7) |
Oct
(9) |
Nov
(5) |
Dec
(2) |
2012 |
Jan
(5) |
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
(7) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
(19) |
2013 |
Jan
(2) |
Feb
(3) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(8) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
|
From: <job...@ao...> - 2009-09-10 01:58:16
|
> I am running Linux 2.6.26 on an MPC8248. I patched my kernel with > the ocf-linux-26-20080917 patch and my openssl-0.9.8e with the > corresponding patch. When I ran cryptotest, I got results for > various algorithms and thought I was using the Freescale SEC. In > crypto/ocf/talitos/talitos.c, I put in some printk's and set > talitos_debug to 1 to verify that the Freescale SEC was being used > to do the encryption. > > > > Nothing was printed. So, apparently it is not being used. Is this > a configuration issue? My .config file follows. Do I have > something incorrectly configured for the Freescale SEC to be utilized? > > > > Thank you. > > > > > > > > # > > # Automatically generated make config: don't edit > > # Linux kernel version: 2.6.26 > > # Wed Sep 9 16:24:18 2009 > > # > > CONFIG_WORD_SIZE=32 > > CONFIG_MMU=y > > CONFIG_GENERIC_HARDIRQS=y > > CONFIG_RWSEM_XCHGADD_ALGORITHM=y > > CONFIG_ARCH_HAS_ILOG2_U32=y > > # CONFIG_ARCH_HAS_ILOG2_U64 is not set > > CONFIG_GENERIC_HWEIGHT=y > > CONFIG_GENERIC_CALIBRATE_DELAY=y > > CONFIG_PPC=y > > CONFIG_PPC32=y > > CONFIG_GENERIC_NVRAM=y > > CONFIG_GENERIC_FIND_NEXT_BIT=y > > CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y > > CONFIG_ARCH_MAY_HAVE_PC_FDC=y > > CONFIG_GENERIC_BUG=y > > CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" > > > > # > > # General setup > > # > > CONFIG_EXPERIMENTAL=y > > CONFIG_BROKEN_ON_SMP=y > > CONFIG_LOCK_KERNEL=y > > CONFIG_INIT_ENV_ARG_LIMIT=32 > > CONFIG_LOCALVERSION="" > > CONFIG_LOCALVERSION_AUTO=y > > # CONFIG_SWAP is not set > > CONFIG_SYSVIPC=y > > CONFIG_SYSVIPC_SYSCTL=y > > # CONFIG_POSIX_MQUEUE is not set > > # CONFIG_BSD_PROCESS_ACCT is not set > > # CONFIG_TASKSTATS is not set > > # CONFIG_AUDIT is not set > > # CONFIG_IKCONFIG is not set > > CONFIG_LOG_BUF_SHIFT=14 > > # CONFIG_CGROUPS is not set > > # CONFIG_GROUP_SCHED is not set > > CONFIG_SYSFS_DEPRECATED=y > > CONFIG_SYSFS_DEPRECATED_V2=y > > # CONFIG_RELAY is not set > > # CONFIG_NAMESPACES is not set > > # CONFIG_BLK_DEV_INITRD is not set > > # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set > > CONFIG_SYSCTL=y > > CONFIG_EMBEDDED=y > > CONFIG_SYSCTL_SYSCALL=y > > CONFIG_SYSCTL_SYSCALL_CHECK=y > > CONFIG_KALLSYMS=y > > # CONFIG_KALLSYMS_ALL is not set > > # CONFIG_KALLSYMS_EXTRA_PASS is not set > > # CONFIG_HOTPLUG is not set > > CONFIG_PRINTK=y > > CONFIG_BUG=y > > CONFIG_ELF_CORE=y > > CONFIG_COMPAT_BRK=y > > CONFIG_BASE_FULL=y > > CONFIG_FUTEX=y > > CONFIG_ANON_INODES=y > > # CONFIG_EPOLL is not set > > CONFIG_SIGNALFD=y > > CONFIG_TIMERFD=y > > CONFIG_EVENTFD=y > > # CONFIG_SHMEM is not set > > CONFIG_VM_EVENT_COUNTERS=y > > CONFIG_SLUB_DEBUG=y > > # CONFIG_SLAB is not set > > CONFIG_SLUB=y > > # CONFIG_SLOB is not set > > # CONFIG_PROFILING is not set > > # CONFIG_MARKERS is not set > > CONFIG_HAVE_OPROFILE=y > > # CONFIG_KPROBES is not set > > CONFIG_HAVE_KPROBES=y > > # CONFIG_HAVE_KRETPROBES is not set > > # CONFIG_HAVE_DMA_ATTRS is not set > > CONFIG_PROC_PAGE_MONITOR=y > > CONFIG_SLABINFO=y > > CONFIG_RT_MUTEXES=y > > CONFIG_TINY_SHMEM=y > > CONFIG_BASE_SMALL=0 > > CONFIG_MODULES=y > > # CONFIG_MODULE_FORCE_LOAD is not set > > CONFIG_MODULE_UNLOAD=y > > # CONFIG_MODULE_FORCE_UNLOAD is not set > > # CONFIG_MODVERSIONS is not set > > # CONFIG_MODULE_SRCVERSION_ALL is not set > > # CONFIG_KMOD is not set > > CONFIG_BLOCK=y > > # CONFIG_LBD is not set > > # CONFIG_BLK_DEV_IO_TRACE is not set > > # CONFIG_LSF is not set > > # CONFIG_BLK_DEV_BSG is not set > > > > # > > # IO Schedulers > > # > > CONFIG_IOSCHED_NOOP=y > > CONFIG_IOSCHED_AS=y > > CONFIG_IOSCHED_DEADLINE=y > > CONFIG_IOSCHED_CFQ=y > > CONFIG_DEFAULT_AS=y > > # CONFIG_DEFAULT_DEADLINE is not set > > # CONFIG_DEFAULT_CFQ is not set > > # CONFIG_DEFAULT_NOOP is not set > > CONFIG_DEFAULT_IOSCHED="anticipatory" > > CONFIG_CLASSIC_RCU=y > > > > # > > # Processor > > # > > CONFIG_6xx=y > > # CONFIG_40x is not set > > # CONFIG_44x is not set > > # CONFIG_8xx is not set > > CONFIG_PPC_FPU=y > > # CONFIG_PPC_DCR_NATIVE is not set > > # CONFIG_KEXEC is not set > > # CONFIG_CPU_FREQ is not set > > # CONFIG_WANT_EARLY_SERIAL is not set > > CONFIG_EMBEDDEDBOOT=y > > CONFIG_PPC_STD_MMU=y > > > > # > > # Platform options > > # > > # CONFIG_PPC_PREP is not set > > # CONFIG_KATANA is not set > > # CONFIG_WILLOW is not set > > # CONFIG_CPCI690 is not set > > # CONFIG_POWERPMC250 is not set > > # CONFIG_CHESTNUT is not set > > # CONFIG_SPRUCE is not set > > # CONFIG_HDPU is not set > > # CONFIG_EV64260 is not set > > # CONFIG_LOPEC is not set > > # CONFIG_MVME5100 is not set > > # CONFIG_PPLUS is not set > > # CONFIG_PRPMC750 is not set > > # CONFIG_PRPMC800 is not set > > # CONFIG_SANDPOINT is not set > > # CONFIG_RADSTONE_PPC7D is not set > > # CONFIG_PAL4 is not set > > # CONFIG_EST8260 is not set > > # CONFIG_SBC82xx is not set > > # CONFIG_SBS8260 is not set > > # CONFIG_RPX8260 is not set > > # CONFIG_EP8260 is not set > > CONFIG_EP8248=y > > # CONFIG_TQM8260 is not set > > # CONFIG_PQ2FADS is not set > > # CONFIG_LITE5200 is not set > > # CONFIG_EV64360 is not set > > CONFIG_8260=y > > CONFIG_CPM2=y > > # CONFIG_PC_KEYBOARD is not set > > # CONFIG_SMP is not set > > # CONFIG_HIGHMEM is not set > > CONFIG_ARCH_POPULATES_NODE_MAP=y > > # CONFIG_HZ_100 is not set > > CONFIG_HZ_250=y > > # CONFIG_HZ_300 is not set > > # CONFIG_HZ_1000 is not set > > CONFIG_HZ=250 > > # CONFIG_SCHED_HRTICK is not set > > # CONFIG_PREEMPT_NONE is not set > > # CONFIG_PREEMPT_VOLUNTARY is not set > > CONFIG_PREEMPT=y > > # CONFIG_PREEMPT_RCU is not set > > CONFIG_SELECT_MEMORY_MODEL=y > > CONFIG_FLATMEM_MANUAL=y > > # CONFIG_DISCONTIGMEM_MANUAL is not set > > # CONFIG_SPARSEMEM_MANUAL is not set > > CONFIG_FLATMEM=y > > CONFIG_FLAT_NODE_MEM_MAP=y > > # CONFIG_SPARSEMEM_STATIC is not set > > # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set > > CONFIG_PAGEFLAGS_EXTENDED=y > > CONFIG_SPLIT_PTLOCK_CPUS=4 > > # CONFIG_RESOURCES_64BIT is not set > > CONFIG_ZONE_DMA_FLAG=1 > > CONFIG_BOUNCE=y > > CONFIG_VIRT_TO_BUS=y > > CONFIG_BINFMT_ELF=y > > # CONFIG_BINFMT_MISC is not set > > CONFIG_CMDLINE_BOOL=y > > CONFIG_CMDLINE="root=/dev/ram rw" > > CONFIG_SECCOMP=y > > CONFIG_ISA_DMA_API=y > > > > # > > # Bus options > > # > > CONFIG_ZONE_DMA=y > > # CONFIG_PPC_I8259 is not set > > CONFIG_PPC_INDIRECT_PCI=y > > CONFIG_PCI=y > > CONFIG_PCI_DOMAINS=y > > CONFIG_PCI_SYSCALL=y > > CONFIG_PCI_8260=y > > # CONFIG_8260_PCI9 is not set > > # CONFIG_ARCH_SUPPORTS_MSI is not set > > CONFIG_PCI_LEGACY=y > > # CONFIG_PCI_DEBUG is not set > > > > # > > # Advanced setup > > # > > # CONFIG_ADVANCED_OPTIONS is not set > > > > # > > # Default settings for advanced configuration options are used > > # > > CONFIG_HIGHMEM_START=0xfe000000 > > CONFIG_LOWMEM_SIZE=0x30000000 > > CONFIG_KERNEL_START=0xc0000000 > > CONFIG_TASK_SIZE=0x80000000 > > CONFIG_BOOT_LOAD=0x00400000 > > CONFIG_PPC_LIB_RHEAP=y > > > > # > > # Networking > > # > > CONFIG_NET=y > > > > # > > # Networking options > > # > > CONFIG_PACKET=y > > CONFIG_PACKET_MMAP=y > > CONFIG_UNIX=y > > CONFIG_XFRM=y > > # CONFIG_XFRM_USER is not set > > # CONFIG_XFRM_SUB_POLICY is not set > > # CONFIG_XFRM_MIGRATE is not set > > # CONFIG_XFRM_STATISTICS is not set > > # CONFIG_NET_KEY is not set > > CONFIG_INET=y > > CONFIG_IP_MULTICAST=y > > CONFIG_IP_ADVANCED_ROUTER=y > > CONFIG_ASK_IP_FIB_HASH=y > > # CONFIG_IP_FIB_TRIE is not set > > CONFIG_IP_FIB_HASH=y > > CONFIG_IP_MULTIPLE_TABLES=y > > CONFIG_IP_ROUTE_MULTIPATH=y > > CONFIG_IP_ROUTE_VERBOSE=y > > CONFIG_IP_PNP=y > > # CONFIG_IP_PNP_DHCP is not set > > # CONFIG_IP_PNP_BOOTP is not set > > # CONFIG_IP_PNP_RARP is not set > > # CONFIG_NET_IPIP is not set > > # CONFIG_NET_IPGRE is not set > > CONFIG_IP_MROUTE=y > > # CONFIG_IP_PIMSM_V1 is not set > > CONFIG_IP_PIMSM_V2=y > > CONFIG_ARPD=y > > # CONFIG_SYN_COOKIES is not set > > # CONFIG_INET_AH is not set > > # CONFIG_INET_ESP is not set > > # CONFIG_INET_IPCOMP is not set > > # CONFIG_INET_XFRM_TUNNEL is not set > > CONFIG_INET_TUNNEL=y > > CONFIG_INET_XFRM_MODE_TRANSPORT=y > > CONFIG_INET_XFRM_MODE_TUNNEL=y > > CONFIG_INET_XFRM_MODE_BEET=y > > # CONFIG_INET_LRO is not set > > CONFIG_INET_DIAG=y > > CONFIG_INET_TCP_DIAG=y > > # CONFIG_TCP_CONG_ADVANCED is not set > > CONFIG_TCP_CONG_CUBIC=y > > CONFIG_DEFAULT_TCP_CONG="cubic" > > # CONFIG_TCP_MD5SIG is not set > > # CONFIG_IP_VS is not set > > CONFIG_IPV6=y > > # CONFIG_IPV6_PRIVACY is not set > > CONFIG_IPV6_ROUTER_PREF=y > > # CONFIG_IPV6_ROUTE_INFO is not set > > # CONFIG_IPV6_OPTIMISTIC_DAD is not set > > # CONFIG_INET6_AH is not set > > # CONFIG_INET6_ESP is not set > > # CONFIG_INET6_IPCOMP is not set > > # CONFIG_IPV6_MIP6 is not set > > # CONFIG_INET6_XFRM_TUNNEL is not set > > CONFIG_INET6_TUNNEL=y > > CONFIG_INET6_XFRM_MODE_TRANSPORT=y > > CONFIG_INET6_XFRM_MODE_TUNNEL=y > > CONFIG_INET6_XFRM_MODE_BEET=y > > # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set > > CONFIG_IPV6_SIT=y > > CONFIG_IPV6_NDISC_NODETYPE=y > > CONFIG_IPV6_TUNNEL=y > > # CONFIG_IPV6_MULTIPLE_TABLES is not set > > # CONFIG_IPV6_MROUTE is not set > > # CONFIG_NETLABEL is not set > > # CONFIG_NETWORK_SECMARK is not set > > CONFIG_NETFILTER=y > > # CONFIG_NETFILTER_DEBUG is not set > > CONFIG_NETFILTER_ADVANCED=y > > > > # > > # Core Netfilter Configuration > > # > > # CONFIG_NETFILTER_NETLINK_QUEUE is not set > > # CONFIG_NETFILTER_NETLINK_LOG is not set > > # CONFIG_NF_CONNTRACK is not set > > CONFIG_NETFILTER_XTABLES=y > > # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set > > CONFIG_NETFILTER_XT_TARGET_DSCP=y > > CONFIG_NETFILTER_XT_TARGET_MARK=y > > # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set > > # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set > > # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set > > # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set > > # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set > > # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set > > # CONFIG_NETFILTER_XT_MATCH_DCCP is not set > > CONFIG_NETFILTER_XT_MATCH_DSCP=y > > # CONFIG_NETFILTER_XT_MATCH_ESP is not set > > # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set > > # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set > > # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set > > # CONFIG_NETFILTER_XT_MATCH_MAC is not set > > CONFIG_NETFILTER_XT_MATCH_MARK=y > > # CONFIG_NETFILTER_XT_MATCH_OWNER is not set > > # CONFIG_NETFILTER_XT_MATCH_POLICY is not set > > # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set > > # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set > > # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set > > # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set > > # CONFIG_NETFILTER_XT_MATCH_REALM is not set > > # CONFIG_NETFILTER_XT_MATCH_SCTP is not set > > # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set > > # CONFIG_NETFILTER_XT_MATCH_STRING is not set > > # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set > > # CONFIG_NETFILTER_XT_MATCH_TIME is not set > > # CONFIG_NETFILTER_XT_MATCH_U32 is not set > > # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set > > > > # > > # IP: Netfilter Configuration > > # > > # CONFIG_IP_NF_QUEUE is not set > > CONFIG_IP_NF_IPTABLES=y > > # CONFIG_IP_NF_MATCH_RECENT is not set > > # CONFIG_IP_NF_MATCH_ECN is not set > > # CONFIG_IP_NF_MATCH_AH is not set > > # CONFIG_IP_NF_MATCH_TTL is not set > > # CONFIG_IP_NF_MATCH_ADDRTYPE is not set > > # CONFIG_IP_NF_FILTER is not set > > # CONFIG_IP_NF_TARGET_LOG is not set > > # CONFIG_IP_NF_TARGET_ULOG is not set > > CONFIG_IP_NF_MANGLE=y > > # CONFIG_IP_NF_TARGET_ECN is not set > > # CONFIG_IP_NF_TARGET_TTL is not set > > # CONFIG_IP_NF_RAW is not set > > CONFIG_IP_NF_ARPTABLES=y > > # CONFIG_IP_NF_ARPFILTER is not set > > CONFIG_IP_NF_ARP_MANGLE=y > > > > # > > # IPv6: Netfilter Configuration > > # > > # CONFIG_IP6_NF_QUEUE is not set > > # CONFIG_IP6_NF_IPTABLES is not set > > # CONFIG_IP_DCCP is not set > > # CONFIG_IP_SCTP is not set > > # CONFIG_TIPC is not set > > # CONFIG_ATM is not set > > # CONFIG_BRIDGE is not set > > # CONFIG_VLAN_8021Q is not set > > # CONFIG_DECNET is not set > > # CONFIG_LLC2 is not set > > # CONFIG_IPX is not set > > # CONFIG_ATALK is not set > > # CONFIG_X25 is not set > > # CONFIG_LAPB is not set > > # CONFIG_ECONET is not set > > # CONFIG_WAN_ROUTER is not set > > # CONFIG_NET_SCHED is not set > > > > # > > # Network testing > > # > > # CONFIG_NET_PKTGEN is not set > > # CONFIG_HAMRADIO is not set > > # CONFIG_CAN is not set > > # CONFIG_IRDA is not set > > # CONFIG_BT is not set > > # CONFIG_AF_RXRPC is not set > > CONFIG_FIB_RULES=y > > > > # > > # Wireless > > # > > # CONFIG_CFG80211 is not set > > # CONFIG_WIRELESS_EXT is not set > > # CONFIG_MAC80211 is not set > > # CONFIG_IEEE80211 is not set > > # CONFIG_RFKILL is not set > > # CONFIG_NET_9P is not set > > > > # > > # Device Drivers > > # > > > > # > > # Generic Driver Options > > # > > CONFIG_STANDALONE=y > > CONFIG_PREVENT_FIRMWARE_BUILD=y > > # CONFIG_DEBUG_DRIVER is not set > > # CONFIG_DEBUG_DEVRES is not set > > # CONFIG_SYS_HYPERVISOR is not set > > # CONFIG_CONNECTOR is not set > > CONFIG_MTD=y > > # CONFIG_MTD_DEBUG is not set > > CONFIG_MTD_CONCAT=y > > CONFIG_MTD_PARTITIONS=y > > # CONFIG_MTD_REDBOOT_PARTS is not set > > # CONFIG_MTD_CMDLINE_PARTS is not set > > # CONFIG_MTD_AR7_PARTS is not set > > > > # > > # User Modules And Translation Layers > > # > > CONFIG_MTD_CHAR=y > > CONFIG_MTD_BLKDEVS=y > > CONFIG_MTD_BLOCK=y > > # CONFIG_FTL is not set > > # CONFIG_NFTL is not set > > # CONFIG_INFTL is not set > > # CONFIG_RFD_FTL is not set > > # CONFIG_SSFDC is not set > > # CONFIG_MTD_OOPS is not set > > > > # > > # RAM/ROM/Flash chip drivers > > # > > CONFIG_MTD_CFI=y > > # CONFIG_MTD_JEDECPROBE is not set > > CONFIG_MTD_GEN_PROBE=y > > CONFIG_MTD_CFI_ADV_OPTIONS=y > > CONFIG_MTD_CFI_NOSWAP=y > > # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set > > # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set > > CONFIG_MTD_CFI_GEOMETRY=y > > # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set > > CONFIG_MTD_MAP_BANK_WIDTH_2=y > > CONFIG_MTD_MAP_BANK_WIDTH_4=y > > # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set > > # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set > > # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set > > CONFIG_MTD_CFI_I1=y > > # CONFIG_MTD_CFI_I2 is not set > > # CONFIG_MTD_CFI_I4 is not set > > # CONFIG_MTD_CFI_I8 is not set > > # CONFIG_MTD_OTP is not set > > # CONFIG_MTD_CFI_INTELEXT is not set > > CONFIG_MTD_CFI_AMDSTD=y > > # CONFIG_MTD_CFI_STAA is not set > > CONFIG_MTD_CFI_UTIL=y > > # CONFIG_MTD_RAM is not set > > # CONFIG_MTD_ROM is not set > > # CONFIG_MTD_ABSENT is not set > > > > # > > # Mapping drivers for chip access > > # > > # CONFIG_MTD_COMPLEX_MAPPINGS is not set > > CONFIG_MTD_SUPERNOVA=y > > # CONFIG_MTD_PHYSMAP is not set > > # CONFIG_MTD_INTEL_VR_NOR is not set > > # CONFIG_MTD_PLATRAM is not set > > > > # > > # Self-contained MTD device drivers > > # > > # CONFIG_MTD_PMC551 is not set > > # CONFIG_MTD_SLRAM is not set > > # CONFIG_MTD_PHRAM is not set > > # CONFIG_MTD_MTDRAM is not set > > # CONFIG_MTD_BLOCK2MTD is not set > > > > # > > # Disk-On-Chip Device Drivers > > # > > # CONFIG_MTD_DOC2000 is not set > > # CONFIG_MTD_DOC2001 is not set > > # CONFIG_MTD_DOC2001PLUS is not set > > # CONFIG_MTD_NAND is not set > > # CONFIG_MTD_ONENAND is not set > > > > # > > # UBI - Unsorted block images > > # > > # CONFIG_MTD_UBI is not set > > # CONFIG_PARPORT is not set > > CONFIG_BLK_DEV=y > > # CONFIG_BLK_DEV_FD is not set > > # CONFIG_BLK_CPQ_DA is not set > > # CONFIG_BLK_CPQ_CISS_DA is not set > > # CONFIG_BLK_DEV_DAC960 is not set > > # CONFIG_BLK_DEV_UMEM is not set > > # CONFIG_BLK_DEV_COW_COMMON is not set > > # CONFIG_BLK_DEV_LOOP is not set > > # CONFIG_BLK_DEV_NBD is not set > > # CONFIG_BLK_DEV_SX8 is not set > > # CONFIG_BLK_DEV_RAM is not set > > # CONFIG_CDROM_PKTCDVD is not set > > # CONFIG_ATA_OVER_ETH is not set > > CONFIG_MISC_DEVICES=y > > # CONFIG_PHANTOM is not set > > # CONFIG_EEPROM_93CX6 is not set > > # CONFIG_SGI_IOC4 is not set > > # CONFIG_TIFM_CORE is not set > > # CONFIG_ENCLOSURE_SERVICES is not set > > CONFIG_HAVE_IDE=y > > # CONFIG_IDE is not set > > > > # > > # SCSI device support > > # > > # CONFIG_RAID_ATTRS is not set > > # CONFIG_SCSI is not set > > # CONFIG_SCSI_DMA is not set > > # CONFIG_SCSI_NETLINK is not set > > # CONFIG_ATA is not set > > # CONFIG_MD is not set > > # CONFIG_FUSION is not set > > > > # > > # IEEE 1394 (FireWire) support > > # > > > > # > > # Enable only one of the two stacks, unless you know what you are > doing > > # > > # CONFIG_FIREWIRE is not set > > # CONFIG_IEEE1394 is not set > > # CONFIG_I2O is not set > > # CONFIG_MACINTOSH_DRIVERS is not set > > CONFIG_NETDEVICES=y > > # CONFIG_NETDEVICES_MULTIQUEUE is not set > > # CONFIG_DUMMY is not set > > # CONFIG_BONDING is not set > > # CONFIG_MACVLAN is not set > > # CONFIG_EQUALIZER is not set > > CONFIG_TUN=y > > # CONFIG_VETH is not set > > # CONFIG_ARCNET is not set > > # CONFIG_NET_ETHERNET is not set > > CONFIG_NETDEV_1000=y > > # CONFIG_ACENIC is not set > > # CONFIG_DL2K is not set > > CONFIG_E1000=y > > # CONFIG_E1000_NAPI is not set > > # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set > > # CONFIG_E1000E is not set > > # CONFIG_E1000E_ENABLED is not set > > # CONFIG_IP1000 is not set > > # CONFIG_IGB is not set > > # CONFIG_NS83820 is not set > > # CONFIG_HAMACHI is not set > > # CONFIG_YELLOWFIN is not set > > # CONFIG_R8169 is not set > > # CONFIG_SIS190 is not set > > # CONFIG_SKGE is not set > > # CONFIG_SKY2 is not set > > # CONFIG_VIA_VELOCITY is not set > > # CONFIG_TIGON3 is not set > > # CONFIG_BNX2 is not set > > # CONFIG_QLA3XXX is not set > > # CONFIG_ATL1 is not set > > CONFIG_NETDEV_10000=y > > # CONFIG_CHELSIO_T1 is not set > > # CONFIG_CHELSIO_T3 is not set > > # CONFIG_IXGBE is not set > > # CONFIG_IXGB is not set > > # CONFIG_S2IO is not set > > # CONFIG_MYRI10GE is not set > > # CONFIG_NETXEN_NIC is not set > > # CONFIG_NIU is not set > > # CONFIG_MLX4_CORE is not set > > # CONFIG_TEHUTI is not set > > # CONFIG_BNX2X is not set > > # CONFIG_SFC is not set > > # CONFIG_TR is not set > > > > # > > # Wireless LAN > > # > > # CONFIG_WLAN_PRE80211 is not set > > # CONFIG_WLAN_80211 is not set > > # CONFIG_IWLWIFI_LEDS is not set > > # CONFIG_WAN is not set > > # CONFIG_FDDI is not set > > # CONFIG_HIPPI is not set > > # CONFIG_PPP is not set > > # CONFIG_SLIP is not set > > # CONFIG_NETCONSOLE is not set > > # CONFIG_NETPOLL is not set > > # CONFIG_NET_POLL_CONTROLLER is not set > > # CONFIG_ISDN is not set > > # CONFIG_PHONE is not set > > > > # > > # Input device support > > # > > # CONFIG_INPUT is not set > > > > # > > # Hardware I/O ports > > # > > # CONFIG_SERIO is not set > > # CONFIG_GAMEPORT is not set > > > > # > > # Character devices > > # > > # CONFIG_VT is not set > > CONFIG_DEVKMEM=y > > # CONFIG_SERIAL_NONSTANDARD is not set > > # CONFIG_NOZOMI is not set > > > > # > > # Serial drivers > > # > > # CONFIG_SERIAL_8250 is not set > > > > # > > # Non-8250 serial port support > > # > > # CONFIG_SERIAL_UARTLITE is not set > > CONFIG_SERIAL_CORE=y > > CONFIG_SERIAL_CORE_CONSOLE=y > > CONFIG_SERIAL_CPM=y > > CONFIG_SERIAL_CPM_CONSOLE=y > > CONFIG_SERIAL_CPM_SCC1=y > > # CONFIG_SERIAL_CPM_SCC2 is not set > > # CONFIG_SERIAL_CPM_SCC3 is not set > > # CONFIG_SERIAL_CPM_SCC4 is not set > > # CONFIG_SERIAL_CPM_SMC1 is not set > > # CONFIG_SERIAL_CPM_SMC2 is not set > > # CONFIG_SERIAL_JSM is not set > > CONFIG_UNIX98_PTYS=y > > # CONFIG_LEGACY_PTYS is not set > > # CONFIG_IPMI_HANDLER is not set > > CONFIG_HW_RANDOM=m > > # CONFIG_NVRAM is not set > > # CONFIG_GEN_RTC is not set > > # CONFIG_R3964 is not set > > # CONFIG_APPLICOM is not set > > # CONFIG_RAW_DRIVER is not set > > # CONFIG_TCG_TPM is not set > > CONFIG_DEVPORT=y > > # CONFIG_I2C is not set > > # CONFIG_SPI is not set > > # CONFIG_W1 is not set > > # CONFIG_POWER_SUPPLY is not set > > CONFIG_HWMON=y > > # CONFIG_HWMON_VID is not set > > # CONFIG_SENSORS_I5K_AMB is not set > > # CONFIG_SENSORS_F71805F is not set > > # CONFIG_SENSORS_F71882FG is not set > > # CONFIG_SENSORS_IT87 is not set > > # CONFIG_SENSORS_PC87360 is not set > > # CONFIG_SENSORS_PC87427 is not set > > # CONFIG_SENSORS_SIS5595 is not set > > # CONFIG_SENSORS_SMSC47M1 is not set > > # CONFIG_SENSORS_SMSC47B397 is not set > > # CONFIG_SENSORS_VIA686A is not set > > # CONFIG_SENSORS_VT1211 is not set > > # CONFIG_SENSORS_VT8231 is not set > > # CONFIG_SENSORS_W83627HF is not set > > # CONFIG_SENSORS_W83627EHF is not set > > # CONFIG_HWMON_DEBUG_CHIP is not set > > # CONFIG_THERMAL is not set > > # CONFIG_THERMAL_HWMON is not set > > # CONFIG_WATCHDOG is not set > > > > # > > # Sonics Silicon Backplane > > # > > CONFIG_SSB_POSSIBLE=y > > # CONFIG_SSB is not set > > > > # > > # Multifunction device drivers > > # > > # CONFIG_MFD_SM501 is not set > > # CONFIG_HTC_PASIC3 is not set > > > > # > > # Multimedia devices > > # > > > > # > > # Multimedia core support > > # > > # CONFIG_VIDEO_DEV is not set > > # CONFIG_DVB_CORE is not set > > # CONFIG_VIDEO_MEDIA is not set > > > > # > > # Multimedia drivers > > # > > # CONFIG_DAB is not set > > > > # > > # Graphics support > > # > > # CONFIG_AGP is not set > > # CONFIG_DRM is not set > > # CONFIG_VGASTATE is not set > > # CONFIG_VIDEO_OUTPUT_CONTROL is not set > > # CONFIG_FB is not set > > # CONFIG_BACKLIGHT_LCD_SUPPORT is not set > > > > # > > # Display device support > > # > > # CONFIG_DISPLAY_SUPPORT is not set > > > > # > > # Sound > > # > > # CONFIG_SOUND is not set > > CONFIG_USB_SUPPORT=y > > CONFIG_USB_ARCH_HAS_HCD=y > > CONFIG_USB_ARCH_HAS_OHCI=y > > CONFIG_USB_ARCH_HAS_EHCI=y > > # CONFIG_USB is not set > > # CONFIG_USB_OTG_WHITELIST is not set > > # CONFIG_USB_OTG_BLACKLIST_HUB is not set > > > > # > > # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' > > # > > # CONFIG_USB_GADGET is not set > > # CONFIG_MMC is not set > > # CONFIG_MEMSTICK is not set > > # CONFIG_NEW_LEDS is not set > > # CONFIG_ACCESSIBILITY is not set > > # CONFIG_INFINIBAND is not set > > # CONFIG_EDAC is not set > > # CONFIG_RTC_CLASS is not set > > # CONFIG_DMADEVICES is not set > > # CONFIG_UIO is not set > > > > # > > # File systems > > # > > CONFIG_EXT2_FS=y > > # CONFIG_EXT2_FS_XATTR is not set > > # CONFIG_EXT2_FS_XIP is not set > > # CONFIG_EXT3_FS is not set > > # CONFIG_EXT4DEV_FS is not set > > # CONFIG_REISERFS_FS is not set > > # CONFIG_JFS_FS is not set > > # CONFIG_FS_POSIX_ACL is not set > > # CONFIG_XFS_FS is not set > > # CONFIG_OCFS2_FS is not set > > CONFIG_DNOTIFY=y > > CONFIG_INOTIFY=y > > CONFIG_INOTIFY_USER=y > > # CONFIG_QUOTA is not set > > # CONFIG_AUTOFS_FS is not set > > # CONFIG_AUTOFS4_FS is not set > > # CONFIG_FUSE_FS is not set > > > > # > > # CD-ROM/DVD Filesystems > > # > > # CONFIG_ISO9660_FS is not set > > # CONFIG_UDF_FS is not set > > > > # > > # DOS/FAT/NT Filesystems > > # > > # CONFIG_MSDOS_FS is not set > > # CONFIG_VFAT_FS is not set > > # CONFIG_NTFS_FS is not set > > > > # > > # Pseudo filesystems > > # > > CONFIG_PROC_FS=y > > # CONFIG_PROC_KCORE is not set > > CONFIG_PROC_SYSCTL=y > > CONFIG_SYSFS=y > > # CONFIG_TMPFS is not set > > # CONFIG_HUGETLB_PAGE is not set > > # CONFIG_CONFIGFS_FS is not set > > > > # > > # Miscellaneous filesystems > > # > > # CONFIG_ADFS_FS is not set > > # CONFIG_AFFS_FS is not set > > # CONFIG_HFS_FS is not set > > # CONFIG_HFSPLUS_FS is not set > > # CONFIG_BEFS_FS is not set > > # CONFIG_BFS_FS is not set > > # CONFIG_EFS_FS is not set > > CONFIG_JFFS2_FS=y > > CONFIG_JFFS2_FS_DEBUG=0 > > CONFIG_JFFS2_FS_WRITEBUFFER=y > > # CONFIG_JFFS2_FS_WBUF_VERIFY is not set > > # CONFIG_JFFS2_SUMMARY is not set > > # CONFIG_JFFS2_FS_XATTR is not set > > # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set > > CONFIG_JFFS2_ZLIB=y > > # CONFIG_JFFS2_LZO is not set > > CONFIG_JFFS2_RTIME=y > > # CONFIG_JFFS2_RUBIN is not set > > # CONFIG_CRAMFS is not set > > # CONFIG_VXFS_FS is not set > > # CONFIG_MINIX_FS is not set > > # CONFIG_HPFS_FS is not set > > # CONFIG_QNX4FS_FS is not set > > # CONFIG_ROMFS_FS is not set > > # CONFIG_SYSV_FS is not set > > # CONFIG_UFS_FS is not set > > CONFIG_NETWORK_FILESYSTEMS=y > > CONFIG_NFS_FS=y > > CONFIG_NFS_V3=y > > # CONFIG_NFS_V3_ACL is not set > > CONFIG_NFS_V4=y > > # CONFIG_NFSD is not set > > CONFIG_ROOT_NFS=y > > CONFIG_LOCKD=y > > CONFIG_LOCKD_V4=y > > CONFIG_NFS_COMMON=y > > CONFIG_SUNRPC=y > > CONFIG_SUNRPC_GSS=y > > # CONFIG_SUNRPC_BIND34 is not set > > CONFIG_RPCSEC_GSS_KRB5=y > > # CONFIG_RPCSEC_GSS_SPKM3 is not set > > # CONFIG_SMB_FS is not set > > # CONFIG_CIFS is not set > > # CONFIG_NCP_FS is not set > > # CONFIG_CODA_FS is not set > > # CONFIG_AFS_FS is not set > > > > # > > # Partition Types > > # > > # CONFIG_PARTITION_ADVANCED is not set > > CONFIG_MSDOS_PARTITION=y > > # CONFIG_NLS is not set > > # CONFIG_DLM is not set > > > > # > > # CPM2 Options > > # > > # CONFIG_PCI_DEV is not set > > CONFIG_PCISLAVE_SIZE=1 > > > > # > > # Library routines > > # > > CONFIG_BITREVERSE=y > > # CONFIG_GENERIC_FIND_FIRST_BIT is not set > > # CONFIG_CRC_CCITT is not set > > # CONFIG_CRC16 is not set > > # CONFIG_CRC_ITU_T is not set > > CONFIG_CRC32=y > > # CONFIG_CRC7 is not set > > # CONFIG_LIBCRC32C is not set > > CONFIG_ZLIB_INFLATE=y > > CONFIG_ZLIB_DEFLATE=y > > CONFIG_PLIST=y > > CONFIG_HAS_IOMEM=y > > CONFIG_HAS_IOPORT=y > > CONFIG_HAS_DMA=y > > > > # > > # Kernel hacking > > # > > # CONFIG_PRINTK_TIME is not set > > CONFIG_ENABLE_WARN_DEPRECATED=y > > CONFIG_ENABLE_MUST_CHECK=y > > CONFIG_FRAME_WARN=1024 > > # CONFIG_MAGIC_SYSRQ is not set > > # CONFIG_UNUSED_SYMBOLS is not set > > # CONFIG_DEBUG_FS is not set > > # CONFIG_HEADERS_CHECK is not set > > CONFIG_DEBUG_KERNEL=y > > # CONFIG_DEBUG_SHIRQ is not set > > CONFIG_DETECT_SOFTLOCKUP=y > > CONFIG_SCHED_DEBUG=y > > # CONFIG_SCHEDSTATS is not set > > # CONFIG_TIMER_STATS is not set > > # CONFIG_DEBUG_OBJECTS is not set > > # CONFIG_SLUB_DEBUG_ON is not set > > # CONFIG_SLUB_STATS is not set > > # CONFIG_DEBUG_RT_MUTEXES is not set > > # CONFIG_RT_MUTEX_TESTER is not set > > # CONFIG_DEBUG_SPINLOCK is not set > > # CONFIG_DEBUG_MUTEXES is not set > > # CONFIG_DEBUG_SPINLOCK_SLEEP is not set > > # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set > > # CONFIG_DEBUG_KOBJECT is not set > > # CONFIG_DEBUG_BUGVERBOSE is not set > > CONFIG_DEBUG_INFO=y > > # CONFIG_DEBUG_VM is not set > > # CONFIG_DEBUG_WRITECOUNT is not set > > # CONFIG_DEBUG_LIST is not set > > # CONFIG_DEBUG_SG is not set > > # CONFIG_BOOT_PRINTK_DELAY is not set > > # CONFIG_RCU_TORTURE_TEST is not set > > # CONFIG_BACKTRACE_SELF_TEST is not set > > # CONFIG_FAULT_INJECTION is not set > > # CONFIG_SAMPLES is not set > > # CONFIG_KGDB_CONSOLE is not set > > # CONFIG_XMON is not set > > CONFIG_BDI_SWITCH=y > > > > # > > # Security options > > # > > # CONFIG_KEYS is not set > > CONFIG_SECURITY=y > > CONFIG_SECURITY_NETWORK=y > > CONFIG_SECURITY_NETWORK_XFRM=y > > CONFIG_SECURITY_CAPABILITIES=y > > # CONFIG_SECURITY_FILE_CAPABILITIES is not set > > CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 > > CONFIG_CRYPTO=y > > > > # > > # Crypto core or helper > > # > > CONFIG_CRYPTO_ALGAPI=y > > CONFIG_CRYPTO_BLKCIPHER=y > > CONFIG_CRYPTO_MANAGER=y > > # CONFIG_CRYPTO_GF128MUL is not set > > # CONFIG_CRYPTO_NULL is not set > > # CONFIG_CRYPTO_CRYPTD is not set > > # CONFIG_CRYPTO_AUTHENC is not set > > # CONFIG_CRYPTO_TEST is not set > > > > # > > # Authenticated Encryption with Associated Data > > # > > # CONFIG_CRYPTO_CCM is not set > > # CONFIG_CRYPTO_GCM is not set > > # CONFIG_CRYPTO_SEQIV is not set > > > > # > > # Block modes > > # > > CONFIG_CRYPTO_CBC=y > > # CONFIG_CRYPTO_CTR is not set > > # CONFIG_CRYPTO_CTS is not set > > # CONFIG_CRYPTO_ECB is not set > > # CONFIG_CRYPTO_LRW is not set > > # CONFIG_CRYPTO_PCBC is not set > > # CONFIG_CRYPTO_XTS is not set > > > > # > > # Hash modes > > # > > # CONFIG_CRYPTO_HMAC is not set > > # CONFIG_CRYPTO_XCBC is not set > > > > # > > # Digest > > # > > # CONFIG_CRYPTO_CRC32C is not set > > # CONFIG_CRYPTO_MD4 is not set > > CONFIG_CRYPTO_MD5=y > > # CONFIG_CRYPTO_MICHAEL_MIC is not set > > # CONFIG_CRYPTO_SHA1 is not set > > CONFIG_CRYPTO_SHA256=y > > CONFIG_CRYPTO_SHA512=y > > # CONFIG_CRYPTO_TGR192 is not set > > # CONFIG_CRYPTO_WP512 is not set > > > > # > > # Ciphers > > # > > CONFIG_CRYPTO_AES=y > > # CONFIG_CRYPTO_ANUBIS is not set > > # CONFIG_CRYPTO_ARC4 is not set > > # CONFIG_CRYPTO_BLOWFISH is not set > > # CONFIG_CRYPTO_CAMELLIA is not set > > # CONFIG_CRYPTO_CAST5 is not set > > # CONFIG_CRYPTO_CAST6 is not set > > CONFIG_CRYPTO_DES=y > > # CONFIG_CRYPTO_FCRYPT is not set > > # CONFIG_CRYPTO_KHAZAD is not set > > # CONFIG_CRYPTO_SALSA20 is not set > > # CONFIG_CRYPTO_SEED is not set > > # CONFIG_CRYPTO_SERPENT is not set > > # CONFIG_CRYPTO_TEA is not set > > # CONFIG_CRYPTO_TWOFISH is not set > > > > # > > # Compression > > # > > # CONFIG_CRYPTO_DEFLATE is not set > > # CONFIG_CRYPTO_LZO is not set > > CONFIG_CRYPTO_HW=y > > # CONFIG_CRYPTO_DEV_HIFN_795X is not set > > > > # > > # OCF Configuration > > # > > CONFIG_OCF_OCF=y > > CONFIG_OCF_RANDOMHARVEST=y > > CONFIG_OCF_FIPS=y > > CONFIG_OCF_CRYPTODEV=y > > # CONFIG_OCF_CRYPTOSOFT is not set > > # CONFIG_OCF_SAFE is not set > > # CONFIG_OCF_IXP4XX is not set > > # CONFIG_OCF_HIFN is not set > > # CONFIG_OCF_HIFNHIPP is not set > > CONFIG_OCF_TALITOS=y > > # CONFIG_OCF_EP80579 is not set > > # CONFIG_OCF_OCFNULL is not set > > # CONFIG_OCF_BENCH is not set > > > > > > |
From: David M. <Dav...@se...> - 2009-09-08 23:18:56
|
Jivin Amir Tsvitov lays it down ... > Hello David, > > Thanks for your previous help and pointers. I modified my driver to register as a async block cipher. However, now it seems my driver functions are not getting called at all when I run cryptotest, even though it seems that the driver is registered correctly. > I've included the relevant init code snippet and the output of /proc/crypto. You have written a linux-native crypto driver. To interface to that using cryptotest you will need to have ocf+cryptosoft+cryptodev loaded. I am not sure how cryptosoft goes talking to async native drivers at the moment. Someone posted (here I think) that they got it to work but they needed to mod the code a little when looking for supported kernel algs. Cheers, Davidm > Init code: > ... > static struct crypto_alg cbc_aes_alg = { > .cra_name = "cbc(aes)", > .cra_driver_name = "hw-cbc-aes-async", > .cra_priority = 300, > .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC, > .cra_blocksize = AES_BLOCK_SIZE, > .cra_ctxsize = sizeof(struct hw_aes_ctx), > .cra_type = &crypto_ablkcipher_type, > .cra_module = THIS_MODULE, > .cra_init = cbc_aes_init, > .cra_ablkcipher = { > .setkey = cbc_aes_set_key, > .encrypt = cbc_aes_encrypt, > .decrypt = cbc_aes_decrypt, > }, > .cra_u = { > .ablkcipher = { > .min_keysize = AES_MIN_KEY_SIZE, > .max_keysize = AES_MAX_KEY_SIZE, > .ivsize = AES_BLOCK_SIZE, > } > } > }; > ... > crypto_register_alg(&cbc_aes_alg); > > > > -----Original Message----- > > From: David McCullough [mailto:Dav...@se...] > > Sent: Wednesday, August 05, 2009 4:51 PM > > To: Amir Tsvitov > > Cc: ocf...@li... > > Subject: Re: [Ocf-linux-users] question about a custom HW crypto driver > > > > > > Jivin Amir Tsvitov lays it down ... > > > Hello, > > > > > > I finished writing a Linux device driver for a custom crypto > > accelerator > > > and after testing it am now in the process of adapting it to work > > with > > > OCF Linux. > > > > > > I would greatly appreciate some pointers on some problems I > > encountered. > > > > > > 1. The driver uses DMA to fetch the input and then write the > > output > > > after the crypto operation has completed. In my test version I put > > the call > > > to sleep on a wait queue which then gets woken up by the DMA done > > ISR. > > > I tried a similar approach with my OCF version but get scheduling > > panic > > > messages from the kernel. What is the proper way to suspend the call > > > until the DMA transfer has completed? > > > > You don't :-) > > > > Both the safei, hifn7751 and talitos drivers use DMA in much the same > > way. > > They are reasonable drivers to use as an example. > > > > Here is the basic idea for your driver: > > > > mydriver_process(..) > > ... > > set up DMA fetch to send data to HW > > signal chip to do it > > ... > > return OK > > > > mydriver_interrupt() > > ... > > request is complete > > do callback with status > > > > You don't need to wait anywhere as OCF is asynchronous, you just have > > your > > interrupt routine call back one the crypto processing is complete. > > > > Now a real drover will be much more complex and involved, but if you > > look > > at the other drivers you should be able to get the idea, > > > > > 2. As a temporary hack until I figure out #1 I am currently > > polling > > > to see when the operation has completed. Using openssl (with an OCF > > patch) > > > I ran the following commands: > > > > > > openssl aes-128-cbc -a -salt -in test.txt -out test.txt.enc -pass > > pass:amir123 > > > > > > openssl aes-128-cbc -d -a -in test.txt.enc -out test.txt.dec -k > > amir123 > > > > > > where test.txt is: > > > > > > This is a test 123456789 line 1 > > > > > > This is a test 123456789 line 2 > > > > > > This is a test 123456789 line 3 > > > > > > ??. > > > > > > This is a test 123456789 line 18 > > > > > > This is a test 123456789 line 19 > > > > > > This is a test 123456789 line 20 > > > > > > > > > > > > I get the following error: > > > > > > bad decrypt > > > > > > 1023:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad > > decrypt:evp_enc.c:461: > > > > > > > > > > > > And the contents of the resulting test.txt.dec are: > > > > > > &??f6?4?? uy?V?u?e23456789 line 1 > > > > > > This is a test 123456789 line 2 > > > > > > This is a test 123456789 line 3 > > > > > > ... > > > > > > This is a test 123456789 line 18 > > > > > > This is a test 123456789 line 19 > > > > > > This is a test 123456 > > > > > > > > > > > > So for some reason I am getting garbage in the beginning of the > > > decrypted message and missing other data at the end of it? > > > > Hard to say really, use cryptotest to debug, it is much easier to > > follow > > than the SSL code, > > > > Cheers, > > Davidm > > > > -- > > David McCullough, dav...@se..., Ph:+61 > > 734352815 > > McAfee - SnapGear http://www.snapgear.com > > http://www.uCdot.org > > name : cbc(aes) > driver : hw-cbc-aes-async > module : hw_AES > priority : 300 > refcnt : 1 > selftest : passed > type : blkcipher > blocksize : 16 > min keysize : 16 > max keysize : 32 > ivsize : 16 > geniv : <default> > > name : cbc(aes) > driver : cbc(aes-generic) > module : kernel > priority : 100 > refcnt : 1 > selftest : passed > type : blkcipher > blocksize : 16 > min keysize : 16 > max keysize : 32 > ivsize : 16 > geniv : <default> > > name : hmac(sha1) > driver : hmac(sha1-generic) > module : kernel > priority : 0 > refcnt : 2 > selftest : passed > type : hash > blocksize : 64 > digestsize : 20 > > name : cbc(des3_ede) > driver : cbc(des3_ede-generic) > module : kernel > priority : 0 > refcnt : 2 > selftest : passed > type : blkcipher > blocksize : 8 > min keysize : 24 > max keysize : 24 > ivsize : 8 > geniv : <default> > > name : cbc(des) > driver : cbc(des-generic) > module : kernel > priority : 0 > refcnt : 1 > selftest : passed > type : blkcipher > blocksize : 8 > min keysize : 8 > max keysize : 8 > ivsize : 8 > geniv : <default> > > name : stdrng > driver : ansi_cprng > module : kernel > priority : 100 > refcnt : 1 > selftest : passed > type : rng > seedsize : 32 > > name : stdrng > driver : krng > module : kernel > priority : 200 > refcnt : 1 > selftest : passed > type : rng > seedsize : 0 > > name : aes > driver : aes-generic > module : kernel > priority : 100 > refcnt : 1 > selftest : passed > type : cipher > blocksize : 16 > min keysize : 16 > max keysize : 32 > > name : des3_ede > driver : des3_ede-generic > module : kernel > priority : 0 > refcnt : 2 > selftest : passed > type : cipher > blocksize : 8 > min keysize : 24 > max keysize : 24 > > name : des > driver : des-generic > module : kernel > priority : 0 > refcnt : 1 > selftest : passed > type : cipher > blocksize : 8 > min keysize : 8 > max keysize : 8 > > name : sha1 > driver : sha1-generic > module : kernel > priority : 0 > refcnt : 2 > selftest : passed > type : digest > blocksize : 64 > digestsize : 20 > -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: Amir T. <ami...@pe...> - 2009-09-08 10:45:00
|
Hello David, Thanks for your previous help and pointers. I modified my driver to register as a async block cipher. However, now it seems my driver functions are not getting called at all when I run cryptotest, even though it seems that the driver is registered correctly. I've included the relevant init code snippet and the output of /proc/crypto. Thanks, Amir Tsvitov Init code: ... static struct crypto_alg cbc_aes_alg = { .cra_name = "cbc(aes)", .cra_driver_name = "hw-cbc-aes-async", .cra_priority = 300, .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct hw_aes_ctx), .cra_type = &crypto_ablkcipher_type, .cra_module = THIS_MODULE, .cra_init = cbc_aes_init, .cra_ablkcipher = { .setkey = cbc_aes_set_key, .encrypt = cbc_aes_encrypt, .decrypt = cbc_aes_decrypt, }, .cra_u = { .ablkcipher = { .min_keysize = AES_MIN_KEY_SIZE, .max_keysize = AES_MAX_KEY_SIZE, .ivsize = AES_BLOCK_SIZE, } } }; ... crypto_register_alg(&cbc_aes_alg); > -----Original Message----- > From: David McCullough [mailto:Dav...@se...] > Sent: Wednesday, August 05, 2009 4:51 PM > To: Amir Tsvitov > Cc: ocf...@li... > Subject: Re: [Ocf-linux-users] question about a custom HW crypto driver > > > Jivin Amir Tsvitov lays it down ... > > Hello, > > > > I finished writing a Linux device driver for a custom crypto > accelerator > > and after testing it am now in the process of adapting it to work > with > > OCF Linux. > > > > I would greatly appreciate some pointers on some problems I > encountered. > > > > 1. The driver uses DMA to fetch the input and then write the > output > > after the crypto operation has completed. In my test version I put > the call > > to sleep on a wait queue which then gets woken up by the DMA done > ISR. > > I tried a similar approach with my OCF version but get scheduling > panic > > messages from the kernel. What is the proper way to suspend the call > > until the DMA transfer has completed? > > You don't :-) > > Both the safei, hifn7751 and talitos drivers use DMA in much the same > way. > They are reasonable drivers to use as an example. > > Here is the basic idea for your driver: > > mydriver_process(..) > ... > set up DMA fetch to send data to HW > signal chip to do it > ... > return OK > > mydriver_interrupt() > ... > request is complete > do callback with status > > You don't need to wait anywhere as OCF is asynchronous, you just have > your > interrupt routine call back one the crypto processing is complete. > > Now a real drover will be much more complex and involved, but if you > look > at the other drivers you should be able to get the idea, > > > 2. As a temporary hack until I figure out #1 I am currently > polling > > to see when the operation has completed. Using openssl (with an OCF > patch) > > I ran the following commands: > > > > openssl aes-128-cbc -a -salt -in test.txt -out test.txt.enc -pass > pass:amir123 > > > > openssl aes-128-cbc -d -a -in test.txt.enc -out test.txt.dec -k > amir123 > > > > where test.txt is: > > > > This is a test 123456789 line 1 > > > > This is a test 123456789 line 2 > > > > This is a test 123456789 line 3 > > > > …. > > > > This is a test 123456789 line 18 > > > > This is a test 123456789 line 19 > > > > This is a test 123456789 line 20 > > > > > > > > I get the following error: > > > > bad decrypt > > > > 1023:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad > decrypt:evp_enc.c:461: > > > > > > > > And the contents of the resulting test.txt.dec are: > > > > &£f64˜ uyVֳue23456789 line 1 > > > > This is a test 123456789 line 2 > > > > This is a test 123456789 line 3 > > > > ... > > > > This is a test 123456789 line 18 > > > > This is a test 123456789 line 19 > > > > This is a test 123456 > > > > > > > > So for some reason I am getting garbage in the beginning of the > > decrypted message and missing other data at the end of it? > > Hard to say really, use cryptotest to debug, it is much easier to > follow > than the SSL code, > > Cheers, > Davidm > > -- > David McCullough, dav...@se..., Ph:+61 > 734352815 > McAfee - SnapGear http://www.snapgear.com > http://www.uCdot.org |
From: David M. <Dav...@se...> - 2009-09-05 05:14:40
|
Jivin job...@ao... lays it down ... > I patched my 2.6.26 kernel with the ocf-linux-26-20080917 patch and my > openssl-0.9.8e with the corresponding patch. When I run 'cryptotest - > z 1024', I only get results for DES, 3DES, and MD5. > > Are these the only algorithms supported by that software? Or am I > missing some? Would the new release support more algorithms? Depends what OCF modules you have loaded, and, then perhaps on your kernel config. You should get AES and SHA as well in most cases, Cheers, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: <job...@ao...> - 2009-09-05 02:02:02
|
I patched my 2.6.26 kernel with the ocf-linux-26-20080917 patch and my openssl-0.9.8e with the corresponding patch. When I run 'cryptotest - z 1024', I only get results for DES, 3DES, and MD5. Are these the only algorithms supported by that software? Or am I missing some? Would the new release support more algorithms? |
From: David M. <Dav...@se...> - 2009-09-01 04:20:57
|
Hi all, It's been too long between releases and I am not getting time to do a full release test, so, here is the current state of the ocf-linux nation mostly untested but used daily here if that helps. The most notable thing is support for kernels up to 2.6.30. I still have a number of outstanding patches that haven't been merged, I apologise, bug me if you are waiting for something in particular. http://downloads.sourceforge.net/project/ocf-linux/ocf-linux/20090901 Full changelog since treh last release in ocf-linux-20090901.txt, Cheers, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: Amir T. <ami...@pe...> - 2009-08-09 13:01:48
|
Hello David, .... > > Here is the basic idea for your driver: > > mydriver_process(..) > ... > set up DMA fetch to send data to HW > signal chip to do it > ... > return OK > > mydriver_interrupt() > ... > request is complete > do callback with status > > You don't need to wait anywhere as OCF is asynchronous, you just have > your > interrupt routine call back one the crypto processing is complete. > > Now a real drover will be much more complex and involved, but if you > look > at the other drivers you should be able to get the idea, > [>>] I looked at the reference drivers and think I got the basic idea. The only thing I'm not 100% sure about is the concept of a session. How does it fit in with the template you provide above? > > 2. As a temporary hack until I figure out #1 I am currently > polling > > to see when the operation has completed. Using openssl (with an OCF > patch) ..... > Hard to say really, use cryptotest to debug, it is much easier to > follow > than the SSL code, > [>>] I used cryptotest and quickly resolved the matter! Thanks it really is a much easier way to debug. According to the test results even with the inefficient way I've hooked the driver I still get 2 to 3 times better performance with the driver loaded then without it. [>>] I'm rewriting my driver to correctly hook into the OCF framework. However, I still would like to understand what my current implementation actually does in terms of its interaction with the OCF layer. The current driver: Registers an initialized crypto_alg by calling crypto_register_alg The relevant parts of the struct are: .cra_name = "cbc(aes)", .cra_driver_name = "cbc-aes-hw-driver", .cra_priority = 300, .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER, In the blkcipher.encrpyt function I registered I more or less do (left out many details for clarity) blkcipher_walk_init(&walk, dst, src, nbytes); ret = blkcipher_walk_virt(desc, &walk); while ((nbytes = walk.nbytes)) { unsigned int n = nbytes & ~(AES_BLOCK_SIZE - 1); unsigned char *out = walk.dst.virt.addr; unsigned char *in = walk.src.virt.addr; in_dma = dma_map_single(NULL,(void*)in,n,DMA_TO_DEVICE); out_dma = dma_map_single(NULL,(void*)out,n,DMA_FROM_DEVICE); ret = hw_crypto_op(op,in_dma,out_dma,n); // POLLS on end of DMA interrupt before returning. if((ret < 0) || (ret != n)) goto cbc_aes_encrypt_out; dma_unmap_single(NULL,in_dma,n,DMA_TO_DEVICE); dma_unmap_single(NULL,out_dma,n,DMA_FROM_DEVICE); nbytes &= AES_BLOCK_SIZE - 1; ret = blkcipher_walk_done(desc, &walk, nbytes); } Is my driver just being called synchronously versus asynchronously? Is all this determined by calling crypto_register_alg versus crypto_register? Thanks a lot for taking the time to help me. Amir |
From: David M. <Dav...@se...> - 2009-08-05 14:06:46
|
Jivin Lakshmi Prasanna lays it down ... > Hi all, > > I am using Openssl, version 0.9.8d, with OCF crypto drivers for ixp > platform. Observed a crash in the kernel while accessing the server. > The crash is in csefind() function. The function has been called by > sys_ioctl(). > > Sorry if the information provided is inadequate, any help will be > much appreciated. Any hints what you ran to produce the crash ? If you can help me reproduce it I can then debug it. I have IXP platforms with openssl in front of me ready to try it on. Also: * Which kernel version ? * Which OCF version ? Thanks, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: David M. <Dav...@se...> - 2009-08-05 14:06:41
|
Jivin Amir Tsvitov lays it down ... > Hello, > > I finished writing a Linux device driver for a custom crypto accelerator > and after testing it am now in the process of adapting it to work with > OCF Linux. > > I would greatly appreciate some pointers on some problems I encountered. > > 1. The driver uses DMA to fetch the input and then write the output > after the crypto operation has completed. In my test version I put the call > to sleep on a wait queue which then gets woken up by the DMA done ISR. > I tried a similar approach with my OCF version but get scheduling panic > messages from the kernel. What is the proper way to suspend the call > until the DMA transfer has completed? You don't :-) Both the safei, hifn7751 and talitos drivers use DMA in much the same way. They are reasonable drivers to use as an example. Here is the basic idea for your driver: mydriver_process(..) ... set up DMA fetch to send data to HW signal chip to do it ... return OK mydriver_interrupt() ... request is complete do callback with status You don't need to wait anywhere as OCF is asynchronous, you just have your interrupt routine call back one the crypto processing is complete. Now a real drover will be much more complex and involved, but if you look at the other drivers you should be able to get the idea, > 2. As a temporary hack until I figure out #1 I am currently polling > to see when the operation has completed. Using openssl (with an OCF patch) > I ran the following commands: > > openssl aes-128-cbc -a -salt -in test.txt -out test.txt.enc -pass pass:amir123 > > openssl aes-128-cbc -d -a -in test.txt.enc -out test.txt.dec -k amir123 > > where test.txt is: > > This is a test 123456789 line 1 > > This is a test 123456789 line 2 > > This is a test 123456789 line 3 > > …. > > This is a test 123456789 line 18 > > This is a test 123456789 line 19 > > This is a test 123456789 line 20 > > > > I get the following error: > > bad decrypt > > 1023:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:461: > > > > And the contents of the resulting test.txt.dec are: > > &£f64˜ uyVֳue23456789 line 1 > > This is a test 123456789 line 2 > > This is a test 123456789 line 3 > > ... > > This is a test 123456789 line 18 > > This is a test 123456789 line 19 > > This is a test 123456 > > > > So for some reason I am getting garbage in the beginning of the > decrypted message and missing other data at the end of it? Hard to say really, use cryptotest to debug, it is much easier to follow than the SSL code, Cheers, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: Lakshmi P. <lak...@fr...> - 2009-08-05 13:49:17
|
Hi all, I am using Openssl, version 0.9.8d, with OCF crypto drivers for ixp platform. Observed a crash in the kernel while accessing the server. The crash is in csefind() function. The function has been called by sys_ioctl(). Sorry if the information provided is inadequate, any help will be much appreciated. thanks, Lakshmi Prasanna |
From: Amir T. <ami...@pe...> - 2009-08-04 22:30:11
|
Hello, I finished writing a Linux device driver for a custom crypto accelerator and after testing it am now in the process of adapting it to work with OCF Linux. I would greatly appreciate some pointers on some problems I encountered. 1. The driver uses DMA to fetch the input and then write the output after the crypto operation has completed. In my test version I put the call to sleep on a wait queue which then gets woken up by the DMA done ISR. I tried a similar approach with my OCF version but get scheduling panic messages from the kernel. What is the proper way to suspend the call until the DMA transfer has completed? 2. As a temporary hack until I figure out #1 I am currently polling to see when the operation has completed. Using openssl (with an OCF patch) I ran the following commands: openssl aes-128-cbc -a -salt -in test.txt -out test.txt.enc -pass pass:amir123 openssl aes-128-cbc -d -a -in test.txt.enc -out test.txt.dec -k amir123 where test.txt is: This is a test 123456789 line 1 This is a test 123456789 line 2 This is a test 123456789 line 3 …. This is a test 123456789 line 18 This is a test 123456789 line 19 This is a test 123456789 line 20 I get the following error: bad decrypt 1023:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:461: And the contents of the resulting test.txt.dec are: &£f64˜ uyVֳue23456789 line 1 This is a test 123456789 line 2 This is a test 123456789 line 3 ... This is a test 123456789 line 18 This is a test 123456789 line 19 This is a test 123456 So for some reason I am getting garbage in the beginning of the decrypted message and missing other data at the end of it? Thanks Amir |
From: David M. <Dav...@se...> - 2009-07-14 23:21:36
|
Hi all, Here's a patch for anyone wanting to sync with the current state of ocf-linux. I'd like to do a release but it's just taking me too long to get though some other things. This is what I am currently running on 2.6.29 on a number of platforms. There's not a lot of change in there really, some hashing fixes, some backoff for heavily loaded systems and a new driver for the Cavium Octeon. I still have a number of patches to get merged in so if you are waiting on something in particular, it is probably coming, but feel free to remind me :-) Cheers, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: David M. <Dav...@se...> - 2009-07-05 11:01:25
|
Jivin Philip A. Prindeville lays it down ... > I'm running with 0.9.8k on a GeodeLX processor and Linux 2.6.26.8 and > the OCF patches: > > # cat /proc/cpuinfo > processor : 0 > vendor_id : AuthenticAMD > cpu family : 5 > model : 10 > model name : Geode(TM) Integrated Processor by AMD PCS > stepping : 2 > cpu MHz : 433.259 > cache size : 128 KB > fdiv_bug : no > hlt_bug : no > f00f_bug : no > coma_bug : no > fpu : yes > fpu_exception : yes > cpuid level : 1 > wp : yes > flags : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow > bogomips : 867.50 > clflush size : 32 > power management: > > # lsmod > Module Size Used by > authenc 4672 2 > xfrm4_mode_tunnel 2016 4 > binfmt_misc 7112 1 > aes_i586 7456 0 > aes_generic 28968 1 aes_i586 > twofish 7968 0 > twofish_common 13632 1 twofish > xcbc 4104 0 > esp4 5344 2 > aead 6144 2 authenc,esp4 > ah4 4320 0 > af_key 24528 2 > wlan_ccmp 6112 1 > wlan_xauth 1184 0 > act_police 4260 1 > cls_u32 5860 1 > sch_ingress 1888 1 > sch_sfq 5088 4 > sch_htb 12960 1 > xt_dscp 2080 4 > xt_CLASSIFY 1408 43 > xt_length 1472 3 > ipt_recent 6648 3 > nf_nat_sip 5152 0 > nf_conntrack_sip 15836 1 nf_nat_sip > xt_policy 2592 6 > xt_tcpudp 2560 142 > ipt_MASQUERADE 2464 1 > iptable_nat 4488 1 > nf_nat_ftp 2272 0 > nf_nat 15792 4 nf_nat_sip,ipt_MASQUERADE,iptable_nat,nf_nat_ftp > xt_TCPMSS 3424 3 > ipt_LOG 4672 50 > ipt_REJECT 2464 0 > iptable_mangle 2400 1 > iptable_filter 2368 1 > xt_multiport 2560 0 > xt_state 1760 16 > xt_limit 1888 54 > xt_conntrack 3200 1 > nf_conntrack_ftp 6432 1 nf_nat_ftp > nf_conntrack_ipv4 11884 20 iptable_nat,nf_nat > nf_conntrack 55268 10 nf_nat_sip,nf_conntrack_sip,ipt_MASQUERADE,iptable_nat,nf_nat_ftp,nf_nat,xt_state,xt_conntrack,nf_conntrack_ftp,nf_conntrack_ipv4 > ip_tables 9552 3 iptable_nat,iptable_mangle,iptable_filter > x_tables 12932 16 xt_dscp,xt_CLASSIFY,xt_length,ipt_recent,xt_policy,xt_tcpudp,ipt_MASQUERADE,iptable_nat,xt_TCPMSS,ipt_LOG,ipt_REJECT,xt_multiport,xt_state,xt_limit,xt_conntrack,ip_tables > pc87360 15892 0 > hwmon_vid 2272 1 pc87360 > hwmon 2228 1 pc87360 > pppoe 8256 2 > pppox 2892 1 pppoe > ppp_synctty 5696 0 > ppp_async 7008 0 > bridge 40088 0 > llc 5392 1 bridge > dummy 2176 0 > wlan_wep 5184 0 > wlan_scan_ap 7968 1 > ath_rate_sample 10784 1 > ath_pci 181432 0 > wlan 193040 7 wlan_ccmp,wlan_xauth,wlan_wep,wlan_scan_ap,ath_rate_sample,ath_pci > ath_hal 248928 3 ath_rate_sample,ath_pci > ztdummy 2808 0 > wanec 300600 0 > wanpipe_lip 116192 0 > af_wanpipe 24480 0 > wanpipe 936384 0 > wanpipe_syncppp 21140 1 wanpipe > wanrouter 35296 5 wanec,wanpipe_lip,af_wanpipe,wanpipe,wanpipe_syncppp > zaptel 190308 4 ztdummy,wanpipe > hdlc 5176 1 zaptel > ppp_generic 19668 9 pppoe,pppox,ppp_synctty,ppp_async,zaptel > slhc 5312 1 ppp_generic > sdladrv 71488 2 wanpipe,wanrouter > sha512_generic 9024 0 > sha256_generic 11136 0 > deflate 2368 0 > zlib_deflate 17496 1 deflate > arc4 1536 0 > ecb 2336 0 > sha1_generic 2144 0 > blowfish 8832 0 > des_generic 17216 2 > cbc 3168 2 > cryptosoft 10020 0 > cryptodev 11076 3 > ocf 26740 2 cryptosoft,cryptodev > geodewdt 4176 0 > geode_rng 1632 0 > geode_aes 5284 0 > crypto_blkcipher 14980 6 authenc,ecb,cbc,geode_aes > via_rhine 18184 0 > rtc 10268 0 > cs5535_gpio 3452 0 > # ls -l /dev/crypto > crw-rw---- 1 root root 10, 70 Jul 3 12:41 /dev/crypto > # > > > If I run "openssl speed sha1" it works fine. > > # openssl speed sha1 > Doing sha1 for 3s on 16 size blocks: 38311 sha1's in 0.11s > Doing sha1 for 3s on 64 size blocks: 34422 sha1's in 0.10s > Doing sha1 for 3s on 256 size blocks: 26720 sha1's in 0.06s > Doing sha1 for 3s on 1024 size blocks: 14137 sha1's in 0.05s > Doing sha1 for 3s on 2048 size blocks: 8712 sha1's in 0.02s > OpenSSL 0.9.8k 25 Mar 2009 > built on: Fri Jul 3 11:48:06 PDT 2009 > options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr) > compiler: /home/philipp/vpn/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -I/home/philipp/vpn/build_i586/staging_dir/include -DTERMIO -O3 -fomit-frame-pointer -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels > available timing options: TIMES TIMEB HZ=100 [sysconf value] > timing function used: times > The 'numbers' are in 1000s of bytes per second processed. > type 16 bytes 64 bytes 256 bytes 1024 bytes 2048 bytes > sha1 5572.51k 22030.08k 114005.33k 289525.76k 892108.80k > # > > > If I compute a digest on a large file, it fails: > > > # ls -l /oldroot/cdrom/os/astlinux-trunk-2849.run > -rwxr-xr-x 1 root root 39694336 Jul 3 12:11 /oldroot/cdrom/os/astlinux-trunk-2849.run > # openssl sha1 /oldroot/cdrom/os/astlinux-trunk-2849.run > cryptodev_digest_final: digest failed > SHA1(/oldroot/cdrom/os/astlinux-trunk-2849.run)= 57bf5d5c81395f12bfdb3cf3c497abffbef8dbe4 > # > > > What am I missing? Try enabling debug in the cryptodev module, might give you a hint as to why it's failing. Cheers, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: David M. <Dav...@se...> - 2009-05-28 04:48:42
|
Jivin Max lays it down ... > Hello. > > I tried to port driver for micronas cypher chip from old ocf version to > latest release. I'm not sure if I did it properly but at least it > compiles now. Sorry I've been so slow to respond, bit busy here on some stuff. Comments included below. > /* Runtime mode */ > static int c7108_crypto_mode = C7108_AES_CTRL_MODE_CTR; > //static int c7108_crypto_mode = C7108_AES_CTRL_MODE_CBC; You probably want CBC mode for OCF use, unless you don't ;-) > static void > skb_copy_bits_back(struct sk_buff *skb, int offset, caddr_t cp, int len) > { > int i; > if (offset < skb_headlen(skb)) { > memcpy(skb->data + offset, cp, > min_t(int, skb_headlen(skb), len)); > len -= skb_headlen(skb); > cp += skb_headlen(skb); > } > offset -= skb_headlen(skb); > for (i = 0; len > 0 && i < skb_shinfo(skb)->nr_frags; i++) { > if (offset < skb_shinfo(skb)->frags[i].size) { > memcpy(page_address(skb_shinfo(skb)->frags[i].page) + > skb_shinfo(skb)->frags[i].page_offset, > cp, min_t(int, > skb_shinfo(skb)->frags[i].size, len)); > len -= skb_shinfo(skb)->frags[i].size; > cp += skb_shinfo(skb)->frags[i].size; > } > offset -= skb_shinfo(skb)->frags[i].size; > } > } You can remove this function in newer OCF versions and switch to using crypto_copyback instead, check the other driver for usage, it's pretty simple. crypto_copyback handles all the SKB/IOV/buffer variants for you. > /* Start AES cipher */ > c7108_reg_wr16(C7108_AES_CTRL, ctrl | C7108_AES_GO); > > //printk("Ctrl: 0x%x\n", ctrl | C7108_AES_GO); > do { > /* TODO: interrupt mode */ > // printk("aes_stat=0x%x\n", stat); > //udelay(100); > } while ((cnt++ < 1000000) && > !((stat=c7108_reg_rd16(C7108_AES_CTRL))&C7108_AES_OP_DONE)); While polling is ok for a quick hack you will be much better off with an interrupt based solution. Probably based on the hifn/safe or tolapai drivers. Might be worth adding a call to schedule() inside this loop so that you do not completely lockup the system if it takes a long time. Otherwise it's a start towards getting something going. The big thing is getting it to crypt something correctly. I usually run something like: echo test-data | openssl aes-128-cbc -k test-key | hd using both cryptosoft and a new driver until I get the same result from the new driver ;-) Cheers, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: Max <ma...@da...> - 2009-05-27 08:15:45
|
Hello. I tried to port driver for micronas cypher chip from old ocf version to latest release. I'm not sure if I did it properly but at least it compiles now. Would you please take a look at it? best regards, Max. |
From: David M. <Dav...@se...> - 2009-05-26 11:34:30
|
Jivin da xiao lays it down ... > when I test ocf,I found this strange problem.I use: > linux-2.6.26.8 > crypto-tools-20080917 > ocf-linux-20080917 > openswan-2.6.16 > > # > # OCF Configuration > # > CONFIG_OCF_OCF=y > CONFIG_OCF_RANDOMHARVEST=y > CONFIG_OCF_CRYPTODEV=y > CONFIG_OCF_CRYPTOSOFT=y > > to run the test,I get the result: > ./cryptotest -a null 256 8192 > 0.067 sec, 512 null crypts, 8192 bytes, 63046643 byte/sec, > 481.0 Mb/sec > ./cryptotest -a aes 256 8192 > 0.036 sec, 512 aes crypts, 8192 bytes, 117038368 byte/sec, > 892.9 Mb/sec > ./cryptotest -a md5 256 8192 > 0.008 sec, 256 md5 crypts, 8192 bytes, 272215992 byte/sec, > 2076.8 Mb/sec > ./cryptotest -a des 256 8192 > 0.078 sec, 512 des crypts, 8192 bytes, 53531550 byte/sec, > 408.4 Mb/sec > ./cryptotest -a 3des 256 8192 > 0.225 sec, 512 3des crypts, 8192 bytes, 18631166 byte/sec, > 142.1 Mb/sec > ./cryptotest -a sha1 256 8192 > 0.023 sec, 256 sha1 crypts, 8192 bytes, 90045170 byte/sec, > 687.0 Mb/sec > > why aes and md5 are so faster than null algorithm? Beats me :-) The null implementation in the kernel uses memcpy(src,dst,len), which "may" be slower than an optimised alg. Could be an accounting bug in cryptotest. I see the same thing here on a mips board so at least it's consistent :-) Other than that I have no ideas, I would have tried it with "openssl speed" but it doesn't support NULL, Cheers, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: da x. <xia...@gm...> - 2009-05-26 06:10:27
|
when I test ocf,I found this strange problem.I use: linux-2.6.26.8 crypto-tools-20080917 ocf-linux-20080917 openswan-2.6.16 # # OCF Configuration # CONFIG_OCF_OCF=y CONFIG_OCF_RANDOMHARVEST=y CONFIG_OCF_CRYPTODEV=y CONFIG_OCF_CRYPTOSOFT=y to run the test,I get the result: ./cryptotest -a null 256 8192 0.067 sec, 512 null crypts, 8192 bytes, 63046643 byte/sec, 481.0 Mb/sec ./cryptotest -a aes 256 8192 0.036 sec, 512 aes crypts, 8192 bytes, 117038368 byte/sec, 892.9 Mb/sec ./cryptotest -a md5 256 8192 0.008 sec, 256 md5 crypts, 8192 bytes, 272215992 byte/sec, 2076.8 Mb/sec ./cryptotest -a des 256 8192 0.078 sec, 512 des crypts, 8192 bytes, 53531550 byte/sec, 408.4 Mb/sec ./cryptotest -a 3des 256 8192 0.225 sec, 512 3des crypts, 8192 bytes, 18631166 byte/sec, 142.1 Mb/sec ./cryptotest -a sha1 256 8192 0.023 sec, 256 sha1 crypts, 8192 bytes, 90045170 byte/sec, 687.0 Mb/sec why aes and md5 are so faster than null algorithm? |
From: Kennedy, B. <bre...@in...> - 2009-05-22 14:36:09
|
Hi Dave, Thanks for the quick response! I'll post back here if I ever figure the problem out ;) Regards, Brendan -----Original Message----- From: David McCullough [mailto:Dav...@se...] Sent: 21 May 2009 04:32 To: Kennedy, Brendan Cc: ocf...@li...; Vrabete, Brad Subject: Re: [Ocf-linux-users] openssl-0.9.8g.patch codechange Jivin Kennedy, Brendan lays it down ... > Hi Dave,All, > > It was seen that RSA cert gen fails when using cryptodev through openssl-0.9.8g patched with the OCF 20080917 openssl patch: > > /usr/local/ssl_0.9.8g/bin/openssl req -new -sha1 -x509 -days 365 -newkey rsa:1024 -nodes -keyout server.key -out server.crt -subj '/CN=Test-Only-Certificate' > Generating a 1024 bit RSA private key > ..........++++++ > ...........++++++ > writing new private key to 'server.key' > ----- > 25900:error:0606B06E:digital envelope routines:EVP_SignFinal:wrong public key type:p_sign.c:103: > 25900:error:0D0C3006:asn1 encoding routines:ASN1_item_sign:EVP lib:a_sign.c:276: Hmm, I just ran this on the safenet driver and it appeared to work. I say appeared as I needed to dummy up an openssl.cnf and perhaps some settings are different. openssl most certainly used the safenet driver for some of the work, but perhaps not as much as the ep80579 you are using. I noticed it does no OCF calls during the printing of '.'s and does fail a few session creations, so it's highly likely the same code paths are not being used. > However with the attached patch, it works fine. I was wondering if, to > your knowledge this impacts any non RSA functionality, or breaks anything > (it doesn't seem to, but I haven't been able to test everything and it > looks like it has the potential to break some other PKE function since > it selects RSA PKE method specifically). I have no idea. Do you know why this fixes the problem ? I don't understand how EVP_PKEY_NULL_method could be right, nor how EVP_PKEY_RSA_method could be wrong or vice-versa :-) All in all the PK support in OCF has very little use so it doesn't surprise me if changes are needed, just need to be fairly sure its a step in the right direction ;-) This code only seems to be active when configured with --with-cryptodev-digests. Almost no one uses this setting as it is almost certainly slower than doing the digest in SW. This no doubt explains why I don't see the error as I don't run with --with-cryptodev-digests :-) Perhaps you can work out what is different between running with --with-cryptodev-digests and without it, might show up the real problem with the MD5/SHA bits ? Cheers, Davidm > --- eng_cryptodev.c.orig 2009-05-20 17:12:03.000000000 +0100 > +++ eng_cryptodev.c 2009-05-20 17:12:27.000000000 +0100 > @@ -852,7 +852,7 @@ const EVP_MD cryptodev_sha1 = { > cryptodev_digest_final, > cryptodev_digest_copy, > cryptodev_digest_cleanup, > - EVP_PKEY_NULL_method, > + EVP_PKEY_RSA_method, > SHA_CBLOCK, > sizeof(struct dev_crypto_state), > }; -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org --------------------------------------------------------------------- Intel Shannon Limited Registered in Ireland Registered Office: One Spencer Dock, North Wall Quay, Dublin 1 Registered Number: 308263 Business address: Dromore House, East Park, Shannon, Co. Clare This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. |
From: Max <ma...@da...> - 2009-05-22 07:55:14
|
Hi. Another compilation error appeared after openwrt patch was applied: crypto/ocf/cryptosoft.c: In function `swcr_process': crypto/ocf/cryptosoft.c:536: error: implicit declaration of function `sg_set_page' crypto/ocf/cryptosoft.c:726: error: implicit declaration of function `sg_virt' which was fixed by adding +#include <linux/dma-mapping.h> +#include <linux/scatterlist.h> similar to http://www.mail-archive.com/git...@vg.../msg32602.html Am I really using latest version of ocf? best regards, Max. |
From: Max <ma...@da...> - 2009-05-22 07:37:27
|
Hello. I tried to compile ocf-linux-20080917 (as far as I understood this is latest) with linux kernel 2.6.28 and it failed due to: crypto/ocf/crypto.c:1686: error: implicit declaration of function `kill_proc' As far as I understood this function was removed around Jun 08: http://lkml.indiana.edu/hypermail/linux/kernel/0806.1/0438.html Also I saw patch which fixed it in openwrt build for 2.6.27: https://dev.openwrt.org/browser/trunk/target/linux/generic-2.6/patches-2.6.27/973-ocf_2.6.27_fix.patch?rev=13341 Please take a look and include this (or some other fix) for that problem into next ocf release. cheers, Max. |
From: da x. <xia...@gm...> - 2009-05-22 07:18:01
|
I want to use ocf with hifn to add hardware crypto acceleration to Openswan,but the result is despair. I use: Intel(R) Pentium(R) 4 CPU 3.00GHz Dual core Co-processor: Hifn Inc. 7956 Security Processor linux-2.6.26.8 crypto-tools-20080917 ocf-linux-20080917 openswan-2.6.16 use ocf with hifn to test: ./cryptotest -a aes 256 8192 0.369 sec, 512 aes crypts, 8192 bytes, 11374291 byte/sec, 86.8 Mb/sec ./cryptotest -a 3des 256 8192 0.369 sec, 512 3des crypts, 8192 bytes, 11371886 byte/sec, 86.8 Mb/sec change the hifn's Cache Line Size (CLS) value(setpci -d 13a3:001d c.l=0x4010),use ocf with hifn to test: ./cryptotest -a aes 256 8192 0.137 sec, 512 aes crypts, 8192 bytes, 30533341 byte/sec, 233.0 Mb/sec ./cryptotest -a 3des 256 8192 0.135 sec, 512 3des crypts, 8192 bytes, 31167963 byte/sec, 237.8 Mb/sec use ocf with cryptosoft to test: ./cryptotest -a aes 256 8192 0.036 sec, 512 aes crypts, 8192 bytes, 117612697 byte/sec, 897.3 Mb/sec ./cryptotest -a 3des 256 8192 0.225 sec, 512 3des crypts, 8192 bytes, 18660094 byte/sec, 142.4 Mb/sec use ocf with hifn to test vpn (use openswan) is also slower than use ocf with cryptosoft. Anybody know the reason,thanks very much! |
From: David M. <Dav...@se...> - 2009-05-21 03:32:34
|
Jivin Kennedy, Brendan lays it down ... > Hi Dave,All, > > It was seen that RSA cert gen fails when using cryptodev through openssl-0.9.8g patched with the OCF 20080917 openssl patch: > > /usr/local/ssl_0.9.8g/bin/openssl req -new -sha1 -x509 -days 365 -newkey rsa:1024 -nodes -keyout server.key -out server.crt -subj '/CN=Test-Only-Certificate' > Generating a 1024 bit RSA private key > ..........++++++ > ...........++++++ > writing new private key to 'server.key' > ----- > 25900:error:0606B06E:digital envelope routines:EVP_SignFinal:wrong public key type:p_sign.c:103: > 25900:error:0D0C3006:asn1 encoding routines:ASN1_item_sign:EVP lib:a_sign.c:276: Hmm, I just ran this on the safenet driver and it appeared to work. I say appeared as I needed to dummy up an openssl.cnf and perhaps some settings are different. openssl most certainly used the safenet driver for some of the work, but perhaps not as much as the ep80579 you are using. I noticed it does no OCF calls during the printing of '.'s and does fail a few session creations, so it's highly likely the same code paths are not being used. > However with the attached patch, it works fine. I was wondering if, to > your knowledge this impacts any non RSA functionality, or breaks anything > (it doesn't seem to, but I haven't been able to test everything and it > looks like it has the potential to break some other PKE function since > it selects RSA PKE method specifically). I have no idea. Do you know why this fixes the problem ? I don't understand how EVP_PKEY_NULL_method could be right, nor how EVP_PKEY_RSA_method could be wrong or vice-versa :-) All in all the PK support in OCF has very little use so it doesn't surprise me if changes are needed, just need to be fairly sure its a step in the right direction ;-) This code only seems to be active when configured with --with-cryptodev-digests. Almost no one uses this setting as it is almost certainly slower than doing the digest in SW. This no doubt explains why I don't see the error as I don't run with --with-cryptodev-digests :-) Perhaps you can work out what is different between running with --with-cryptodev-digests and without it, might show up the real problem with the MD5/SHA bits ? Cheers, Davidm > --- eng_cryptodev.c.orig 2009-05-20 17:12:03.000000000 +0100 > +++ eng_cryptodev.c 2009-05-20 17:12:27.000000000 +0100 > @@ -852,7 +852,7 @@ const EVP_MD cryptodev_sha1 = { > cryptodev_digest_final, > cryptodev_digest_copy, > cryptodev_digest_cleanup, > - EVP_PKEY_NULL_method, > + EVP_PKEY_RSA_method, > SHA_CBLOCK, > sizeof(struct dev_crypto_state), > }; -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: Kennedy, B. <bre...@in...> - 2009-05-20 16:44:06
|
Hi Dave,All, It was seen that RSA cert gen fails when using cryptodev through openssl-0.9.8g patched with the OCF 20080917 openssl patch: /usr/local/ssl_0.9.8g/bin/openssl req -new -sha1 -x509 -days 365 -newkey rsa:1024 -nodes -keyout server.key -out server.crt -subj '/CN=Test-Only-Certificate' Generating a 1024 bit RSA private key ..........++++++ ...........++++++ writing new private key to 'server.key' ----- 25900:error:0606B06E:digital envelope routines:EVP_SignFinal:wrong public key type:p_sign.c:103: 25900:error:0D0C3006:asn1 encoding routines:ASN1_item_sign:EVP lib:a_sign.c:276: However with the attached patch, it works fine. I was wondering if, to your knowledge this impacts any non RSA functionality, or breaks anything (it doesn't seem to, but I haven't been able to test everything and it looks like it has the potential to break some other PKE function since it selects RSA PKE method specifically). Regards, Brendan --- eng_cryptodev.c.orig 2009-05-20 17:12:03.000000000 +0100 +++ eng_cryptodev.c 2009-05-20 17:12:27.000000000 +0100 @@ -852,7 +852,7 @@ const EVP_MD cryptodev_sha1 = { cryptodev_digest_final, cryptodev_digest_copy, cryptodev_digest_cleanup, - EVP_PKEY_NULL_method, + EVP_PKEY_RSA_method, SHA_CBLOCK, sizeof(struct dev_crypto_state), }; ------------------------------------------------ Brendan Kennedy Intel Shannon Ltd. Ireland. Email: bre...@in...<mailto:bre...@in...> ------------------------------------------------ --------------------------------------------------------------------- Intel Shannon Limited Registered in Ireland Registered Office: One Spencer Dock, North Wall Quay, Dublin 1 Registered Number: 308263 Business address: Dromore House, East Park, Shannon, Co. Clare This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. |
From: David M. <Dav...@se...> - 2009-05-19 12:50:10
|
Jivin Max lays it down ... > Hello. > > I think the reason for these failures is that we use really ancient > version of ocf - I was unable to figure out which one so I simply > attached it. > > The most obvious difference is that we do not use files_fdtable() > function in cryptodev.c because there is no such function in 2.6.12 as > far as I know. Apply this patch to your version and see how you go. Cheers, Davidm -- David McCullough, dav...@se..., Ph:+61 734352815 McAfee - SnapGear http://www.snapgear.com http://www.uCdot.org |
From: Max <ma...@da...> - 2009-05-19 06:30:03
|
Hello. I think the reason for these failures is that we use really ancient version of ocf - I was unable to figure out which one so I simply attached it. The most obvious difference is that we do not use files_fdtable() function in cryptodev.c because there is no such function in 2.6.12 as far as I know. thank you, Max. |