idals.c
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
- /*
- * File...........: linux/drivers/s390x/idals.c
- * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
- * Bugreports.to..: <Linux390@de.ibm.com>
- * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2000a
-
- * History of changes
- * 07/24/00 new file
- * 12/13/00 changed IDALs to 4kByte-IDALs
- */
- #include <linux/module.h>
- #include <linux/config.h>
- #include <linux/slab.h>
- #include <asm/irq.h>
- #include <asm/idals.h>
- #ifdef CONFIG_ARCH_S390X
- unsigned long __create_idal (unsigned long address, int count)
- {
- int nridaws;
- unsigned long *idal, *tmp;
- nridaws = ((address & (IDA_BLOCK_SIZE-1)) + count +
- (IDA_BLOCK_SIZE-1)) >> IDA_SIZE_LOG;
- idal = idal_alloc(nridaws);
- if (idal != NULL) {
- tmp = idal;
- *tmp++ = address;
- address &= -IDA_BLOCK_SIZE;
- while (--nridaws > 0) {
- address += IDA_BLOCK_SIZE;
- *tmp++ = address;
- }
- }
- return (unsigned long) idal;
- }
- EXPORT_SYMBOL (__create_idal);
- #endif