mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
[PATCH] uml: support AES i586 crypto driver
We want to make possible, for the user, to enable the i586 AES implementation. This requires a restructure. - Add a CONFIG_UML_X86 to notify that we are building a UML for i386. - Rename CONFIG_64_BIT to CONFIG_64BIT as is used for all other archs - Tell crypto/Kconfig that UML_X86 is as good as X86 - Tell it that it must exclude not X86_64 but 64BIT, which will give the same results. - Tell kbuild to descend down into arch/i386/crypto/ to build what's needed. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b05d85a87d
commit
c45166be3c
@ -244,6 +244,7 @@ config KERNEL_HALF_GIGS
|
||||
|
||||
config HIGHMEM
|
||||
bool "Highmem support"
|
||||
depends on !64BIT
|
||||
|
||||
config KERNEL_STACK_ORDER
|
||||
int "Kernel stack size order"
|
||||
|
@ -1,4 +1,8 @@
|
||||
config 64_BIT
|
||||
config UML_X86
|
||||
bool
|
||||
default y
|
||||
|
||||
config 64BIT
|
||||
bool
|
||||
default n
|
||||
|
||||
|
@ -1,4 +1,8 @@
|
||||
config 64_BIT
|
||||
config UML_X86
|
||||
bool
|
||||
default y
|
||||
|
||||
config 64BIT
|
||||
bool
|
||||
default y
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
SUBARCH_CORE := arch/um/sys-i386/
|
||||
SUBARCH_CORE := arch/um/sys-i386/ arch/i386/crypto/
|
||||
|
||||
TOP_ADDR := $(CONFIG_TOP_ADDR)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.12-rc1-bk1
|
||||
# Sun Mar 20 16:53:00 2005
|
||||
# Linux kernel version: 2.6.12-rc3-skas3-v9-pre2
|
||||
# Sun Apr 24 19:46:10 2005
|
||||
#
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_UML=y
|
||||
@ -15,7 +15,8 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
#
|
||||
CONFIG_MODE_TT=y
|
||||
CONFIG_MODE_SKAS=y
|
||||
# CONFIG_64_BIT is not set
|
||||
CONFIG_UML_X86=y
|
||||
# CONFIG_64BIT is not set
|
||||
CONFIG_TOP_ADDR=0xc0000000
|
||||
# CONFIG_3_LEVEL_PGTABLES is not set
|
||||
CONFIG_ARCH_HAS_SC_SIGNALS=y
|
||||
@ -41,6 +42,7 @@ CONFIG_UML_REAL_TIME_CLOCK=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_CLEAN_COMPILE=y
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
|
||||
#
|
||||
# General setup
|
||||
@ -158,7 +160,6 @@ CONFIG_UML_NET_SLIRP=y
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
# CONFIG_NETLINK_DEV is not set
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
@ -412,6 +413,5 @@ CONFIG_DEBUG_INFO=y
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
CONFIG_FRAME_POINTER=y
|
||||
CONFIG_PT_PROXY=y
|
||||
# CONFIG_GPROF is not set
|
||||
# CONFIG_GCOV is not set
|
||||
# CONFIG_SYSCALL_DEBUG is not set
|
||||
|
@ -146,7 +146,7 @@ config CRYPTO_SERPENT
|
||||
|
||||
config CRYPTO_AES
|
||||
tristate "AES cipher algorithms"
|
||||
depends on CRYPTO && !(X86 && !X86_64)
|
||||
depends on CRYPTO && !((X86 || UML_X86) && !64BIT)
|
||||
help
|
||||
AES cipher algorithms (FIPS-197). AES uses the Rijndael
|
||||
algorithm.
|
||||
@ -166,7 +166,7 @@ config CRYPTO_AES
|
||||
|
||||
config CRYPTO_AES_586
|
||||
tristate "AES cipher algorithms (i586)"
|
||||
depends on CRYPTO && (X86 && !X86_64)
|
||||
depends on CRYPTO && ((X86 || UML_X86) && !64BIT)
|
||||
help
|
||||
AES cipher algorithms (FIPS-197). AES uses the Rijndael
|
||||
algorithm.
|
||||
|
@ -13,7 +13,7 @@ extern long elf_aux_hwcap;
|
||||
|
||||
#define elf_check_arch(x) (1)
|
||||
|
||||
#ifdef CONFIG_64_BIT
|
||||
#ifdef CONFIG_64BIT
|
||||
#define ELF_CLASS ELFCLASS64
|
||||
#else
|
||||
#define ELF_CLASS ELFCLASS32
|
||||
|
@ -27,7 +27,7 @@ struct page;
|
||||
#define clear_user_page(page, vaddr, pg) clear_page(page)
|
||||
#define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
|
||||
|
||||
#if defined(CONFIG_3_LEVEL_PGTABLES) && !defined(CONFIG_64_BIT)
|
||||
#if defined(CONFIG_3_LEVEL_PGTABLES) && !defined(CONFIG_64BIT)
|
||||
|
||||
typedef struct { unsigned long pte_low, pte_high; } pte_t;
|
||||
typedef struct { unsigned long long pmd; } pmd_t;
|
||||
|
@ -145,7 +145,7 @@ static inline pmd_t pfn_pmd(pfn_t page_nr, pgprot_t pgprot)
|
||||
*/
|
||||
#define PTE_FILE_MAX_BITS 32
|
||||
|
||||
#ifdef CONFIG_64_BIT
|
||||
#ifdef CONFIG_64BIT
|
||||
|
||||
#define pte_to_pgoff(p) ((p).pte >> 32)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user