mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
s390: remove 31 bit support
Remove the 31 bit support in order to reduce maintenance cost and
effectively remove dead code. Since a couple of years there is no
distribution left that comes with a 31 bit kernel.
The 31 bit kernel also has been broken since more than a year before
anybody noticed. In addition I added a removal warning to the kernel
shown at ipl for 5 minutes: a960062e58 ("s390: add 31 bit warning
message") which let everybody know about the plan to remove 31 bit
code. We didn't get any response.
Given that the last 31 bit only machine was introduced in 1999 let's
remove the code.
Anybody with 31 bit user space code can still use the compat mode.
Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
This commit is contained in:
parent
1833c9f647
commit
5a79859ae0
97 changed files with 170 additions and 6016 deletions
|
|
@ -1237,7 +1237,6 @@ EXPORT_SYMBOL(dasd_smalloc_request);
|
|||
*/
|
||||
void dasd_kfree_request(struct dasd_ccw_req *cqr, struct dasd_device *device)
|
||||
{
|
||||
#ifdef CONFIG_64BIT
|
||||
struct ccw1 *ccw;
|
||||
|
||||
/* Clear any idals used for the request. */
|
||||
|
|
@ -1245,7 +1244,6 @@ void dasd_kfree_request(struct dasd_ccw_req *cqr, struct dasd_device *device)
|
|||
do {
|
||||
clear_normalized_cda(ccw);
|
||||
} while (ccw++->flags & (CCW_FLAG_CC | CCW_FLAG_DC));
|
||||
#endif
|
||||
kfree(cqr->cpaddr);
|
||||
kfree(cqr->data);
|
||||
kfree(cqr);
|
||||
|
|
|
|||
|
|
@ -38,8 +38,6 @@ struct dasd_diag_characteristics {
|
|||
u8 rdev_features;
|
||||
} __attribute__ ((packed, aligned(4)));
|
||||
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
#define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BIT
|
||||
|
||||
typedef u64 blocknum_t;
|
||||
|
|
@ -80,43 +78,3 @@ struct dasd_diag_rw_io {
|
|||
struct dasd_diag_bio *bio_list;
|
||||
u8 spare4[8];
|
||||
} __attribute__ ((packed, aligned(8)));
|
||||
#else /* CONFIG_64BIT */
|
||||
#define DASD_DIAG_FLAGA_DEFAULT 0x0
|
||||
|
||||
typedef u32 blocknum_t;
|
||||
typedef s32 sblocknum_t;
|
||||
|
||||
struct dasd_diag_bio {
|
||||
u8 type;
|
||||
u8 status;
|
||||
u16 spare1;
|
||||
blocknum_t block_number;
|
||||
u32 alet;
|
||||
void *buffer;
|
||||
} __attribute__ ((packed, aligned(8)));
|
||||
|
||||
struct dasd_diag_init_io {
|
||||
u16 dev_nr;
|
||||
u8 flaga;
|
||||
u8 spare1[21];
|
||||
u32 block_size;
|
||||
blocknum_t offset;
|
||||
sblocknum_t start_block;
|
||||
blocknum_t end_block;
|
||||
u8 spare2[24];
|
||||
} __attribute__ ((packed, aligned(8)));
|
||||
|
||||
struct dasd_diag_rw_io {
|
||||
u16 dev_nr;
|
||||
u8 flaga;
|
||||
u8 spare1[21];
|
||||
u8 key;
|
||||
u8 flags;
|
||||
u8 spare2[2];
|
||||
u32 block_count;
|
||||
u32 alet;
|
||||
struct dasd_diag_bio *bio_list;
|
||||
u32 interrupt_params;
|
||||
u8 spare3[20];
|
||||
} __attribute__ ((packed, aligned(8)));
|
||||
#endif /* CONFIG_64BIT */
|
||||
|
|
|
|||
|
|
@ -1633,7 +1633,6 @@ static void dasd_eckd_kick_validate_server(struct dasd_device *device)
|
|||
|
||||
static u32 get_fcx_max_data(struct dasd_device *device)
|
||||
{
|
||||
#if defined(CONFIG_64BIT)
|
||||
int tpm, mdc;
|
||||
int fcx_in_css, fcx_in_gneq, fcx_in_features;
|
||||
struct dasd_eckd_private *private;
|
||||
|
|
@ -1657,9 +1656,6 @@ static u32 get_fcx_max_data(struct dasd_device *device)
|
|||
return 0;
|
||||
} else
|
||||
return mdc * FCX_MAX_DATA_FACTOR;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -2615,10 +2611,8 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_single(
|
|||
/* Eckd can only do full blocks. */
|
||||
return ERR_PTR(-EINVAL);
|
||||
count += bv.bv_len >> (block->s2b_shift + 9);
|
||||
#if defined(CONFIG_64BIT)
|
||||
if (idal_is_needed (page_address(bv.bv_page), bv.bv_len))
|
||||
cidaw += bv.bv_len >> (block->s2b_shift + 9);
|
||||
#endif
|
||||
}
|
||||
/* Paranoia. */
|
||||
if (count != last_rec - first_rec + 1)
|
||||
|
|
|
|||
|
|
@ -287,10 +287,8 @@ static struct dasd_ccw_req *dasd_fba_build_cp(struct dasd_device * memdev,
|
|||
/* Fba can only do full blocks. */
|
||||
return ERR_PTR(-EINVAL);
|
||||
count += bv.bv_len >> (block->s2b_shift + 9);
|
||||
#if defined(CONFIG_64BIT)
|
||||
if (idal_is_needed (page_address(bv.bv_page), bv.bv_len))
|
||||
cidaw += bv.bv_len / blksize;
|
||||
#endif
|
||||
}
|
||||
/* Paranoia. */
|
||||
if (count != last_rec - first_rec + 1)
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ config SCLP_ASYNC_ID
|
|||
config HMC_DRV
|
||||
def_tristate m
|
||||
prompt "Support for file transfers from HMC drive CD/DVD-ROM"
|
||||
depends on S390 && 64BIT
|
||||
depends on S390
|
||||
select CRC16
|
||||
help
|
||||
This option enables support for file transfers from a Hardware
|
||||
|
|
|
|||
|
|
@ -178,11 +178,7 @@ int sclp_sdias_copy(void *dest, int start_blk, int nr_blks)
|
|||
sccb.evbuf.event_qual = SDIAS_EQ_STORE_DATA;
|
||||
sccb.evbuf.data_id = SDIAS_DI_FCP_DUMP;
|
||||
sccb.evbuf.event_id = 4712;
|
||||
#ifdef CONFIG_64BIT
|
||||
sccb.evbuf.asa_size = SDIAS_ASA_SIZE_64;
|
||||
#else
|
||||
sccb.evbuf.asa_size = SDIAS_ASA_SIZE_32;
|
||||
#endif
|
||||
sccb.evbuf.event_status = 0;
|
||||
sccb.evbuf.blk_cnt = nr_blks;
|
||||
sccb.evbuf.asa = (unsigned long)dest;
|
||||
|
|
|
|||
|
|
@ -212,11 +212,7 @@ static struct zcore_header zcore_header = {
|
|||
.dump_level = 0,
|
||||
.page_size = PAGE_SIZE,
|
||||
.mem_start = 0,
|
||||
#ifdef CONFIG_64BIT
|
||||
.build_arch = DUMP_ARCH_S390X,
|
||||
#else
|
||||
.build_arch = DUMP_ARCH_S390,
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
@ -516,23 +512,6 @@ static const struct file_operations zcore_hsa_fops = {
|
|||
.llseek = no_llseek,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_32BIT
|
||||
|
||||
static void __init set_lc_mask(struct save_area *map)
|
||||
{
|
||||
memset(&map->ext_save, 0xff, sizeof(map->ext_save));
|
||||
memset(&map->timer, 0xff, sizeof(map->timer));
|
||||
memset(&map->clk_cmp, 0xff, sizeof(map->clk_cmp));
|
||||
memset(&map->psw, 0xff, sizeof(map->psw));
|
||||
memset(&map->pref_reg, 0xff, sizeof(map->pref_reg));
|
||||
memset(&map->acc_regs, 0xff, sizeof(map->acc_regs));
|
||||
memset(&map->fp_regs, 0xff, sizeof(map->fp_regs));
|
||||
memset(&map->gp_regs, 0xff, sizeof(map->gp_regs));
|
||||
memset(&map->ctrl_regs, 0xff, sizeof(map->ctrl_regs));
|
||||
}
|
||||
|
||||
#else /* CONFIG_32BIT */
|
||||
|
||||
static void __init set_lc_mask(struct save_area *map)
|
||||
{
|
||||
memset(&map->fp_regs, 0xff, sizeof(map->fp_regs));
|
||||
|
|
@ -547,8 +526,6 @@ static void __init set_lc_mask(struct save_area *map)
|
|||
memset(&map->ctrl_regs, 0xff, sizeof(map->ctrl_regs));
|
||||
}
|
||||
|
||||
#endif /* CONFIG_32BIT */
|
||||
|
||||
/*
|
||||
* Initialize dump globals for a given architecture
|
||||
*/
|
||||
|
|
@ -688,21 +665,12 @@ static int __init zcore_init(void)
|
|||
if (rc)
|
||||
goto fail;
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
if (arch == ARCH_S390) {
|
||||
pr_alert("The 64-bit dump tool cannot be used for a "
|
||||
"32-bit system\n");
|
||||
rc = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
#else /* CONFIG_64BIT */
|
||||
if (arch == ARCH_S390X) {
|
||||
pr_alert("The 32-bit dump tool cannot be used for a "
|
||||
"64-bit system\n");
|
||||
rc = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
#endif /* CONFIG_64BIT */
|
||||
|
||||
rc = get_mem_info(&mem_size, &mem_end);
|
||||
if (rc)
|
||||
|
|
|
|||
|
|
@ -143,13 +143,11 @@ cio_start_key (struct subchannel *sch, /* subchannel structure */
|
|||
orb->cmd.spnd = priv->options.suspend;
|
||||
orb->cmd.ssic = priv->options.suspend && priv->options.inter;
|
||||
orb->cmd.lpm = (lpm != 0) ? lpm : sch->lpm;
|
||||
#ifdef CONFIG_64BIT
|
||||
/*
|
||||
* for 64 bit we always support 64 bit IDAWs with 4k page size only
|
||||
*/
|
||||
orb->cmd.c64 = 1;
|
||||
orb->cmd.i2k = 0;
|
||||
#endif
|
||||
orb->cmd.key = key >> 4;
|
||||
/* issue "Start Subchannel" */
|
||||
orb->cmd.cpa = (__u32) __pa(cpa);
|
||||
|
|
|
|||
|
|
@ -84,7 +84,6 @@ enum qdio_irq_states {
|
|||
#define QDIO_SIGA_WRITEQ 0x04
|
||||
#define QDIO_SIGA_QEBSM_FLAG 0x80
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
static inline int do_sqbs(u64 token, unsigned char state, int queue,
|
||||
int *start, int *count)
|
||||
{
|
||||
|
|
@ -122,12 +121,6 @@ static inline int do_eqbs(u64 token, unsigned char *state, int queue,
|
|||
|
||||
return (_ccq >> 32) & 0xff;
|
||||
}
|
||||
#else
|
||||
static inline int do_sqbs(u64 token, unsigned char state, int queue,
|
||||
int *start, int *count) { return 0; }
|
||||
static inline int do_eqbs(u64 token, unsigned char *state, int queue,
|
||||
int *start, int *count, int ack) { return 0; }
|
||||
#endif /* CONFIG_64BIT */
|
||||
|
||||
struct qdio_irq;
|
||||
|
||||
|
|
|
|||
|
|
@ -91,10 +91,7 @@ EXPORT_SYMBOL_GPL(qdio_reset_buffers);
|
|||
*/
|
||||
static inline int qebsm_possible(void)
|
||||
{
|
||||
#ifdef CONFIG_64BIT
|
||||
return css_general_characteristics.qebsm;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -174,12 +174,10 @@ static int ap_interrupts_available(void)
|
|||
*
|
||||
* Returns 1 if AP configuration information is available.
|
||||
*/
|
||||
#ifdef CONFIG_64BIT
|
||||
static int ap_configuration_available(void)
|
||||
{
|
||||
return test_facility(2) && test_facility(12);
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ap_test_queue(): Test adjunct processor queue.
|
||||
|
|
@ -239,7 +237,6 @@ static inline struct ap_queue_status ap_reset_queue(ap_qid_t qid)
|
|||
return reg1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
/**
|
||||
* ap_queue_interruption_control(): Enable interruption for a specific AP.
|
||||
* @qid: The AP queue number
|
||||
|
|
@ -261,9 +258,7 @@ ap_queue_interruption_control(ap_qid_t qid, void *ind)
|
|||
: "cc" );
|
||||
return reg1_out;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
static inline struct ap_queue_status
|
||||
__ap_query_functions(ap_qid_t qid, unsigned int *functions)
|
||||
{
|
||||
|
|
@ -282,9 +277,7 @@ __ap_query_functions(ap_qid_t qid, unsigned int *functions)
|
|||
*functions = (unsigned int)(reg2 >> 32);
|
||||
return reg1;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
static inline int __ap_query_configuration(struct ap_config_info *config)
|
||||
{
|
||||
register unsigned long reg0 asm ("0") = 0x04000000UL;
|
||||
|
|
@ -302,7 +295,6 @@ static inline int __ap_query_configuration(struct ap_config_info *config)
|
|||
|
||||
return reg1;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ap_query_functions(): Query supported functions.
|
||||
|
|
@ -317,7 +309,6 @@ static inline int __ap_query_configuration(struct ap_config_info *config)
|
|||
*/
|
||||
static int ap_query_functions(ap_qid_t qid, unsigned int *functions)
|
||||
{
|
||||
#ifdef CONFIG_64BIT
|
||||
struct ap_queue_status status;
|
||||
int i;
|
||||
status = __ap_query_functions(qid, functions);
|
||||
|
|
@ -348,9 +339,6 @@ static int ap_query_functions(ap_qid_t qid, unsigned int *functions)
|
|||
}
|
||||
}
|
||||
return -EBUSY;
|
||||
#else
|
||||
return -EINVAL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -364,7 +352,6 @@ static int ap_query_functions(ap_qid_t qid, unsigned int *functions)
|
|||
*/
|
||||
static int ap_queue_enable_interruption(ap_qid_t qid, void *ind)
|
||||
{
|
||||
#ifdef CONFIG_64BIT
|
||||
struct ap_queue_status status;
|
||||
int t_depth, t_device_type, rc, i;
|
||||
|
||||
|
|
@ -404,9 +391,6 @@ static int ap_queue_enable_interruption(ap_qid_t qid, void *ind)
|
|||
}
|
||||
}
|
||||
return rc;
|
||||
#else
|
||||
return -EINVAL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1238,7 +1222,6 @@ static struct bus_attribute *const ap_bus_attrs[] = {
|
|||
*/
|
||||
static void ap_query_configuration(void)
|
||||
{
|
||||
#ifdef CONFIG_64BIT
|
||||
if (ap_configuration_available()) {
|
||||
if (!ap_configuration)
|
||||
ap_configuration =
|
||||
|
|
@ -1248,9 +1231,6 @@ static void ap_query_configuration(void)
|
|||
__ap_query_configuration(ap_configuration);
|
||||
} else
|
||||
ap_configuration = NULL;
|
||||
#else
|
||||
ap_configuration = NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -130,11 +130,7 @@ void ctcmpc_dumpit(char *buf, int len)
|
|||
__u32 ct, sw, rm, dup;
|
||||
char *ptr, *rptr;
|
||||
char tbuf[82], tdup[82];
|
||||
#ifdef CONFIG_64BIT
|
||||
char addr[22];
|
||||
#else
|
||||
char addr[12];
|
||||
#endif
|
||||
char boff[12];
|
||||
char bhex[82], duphex[82];
|
||||
char basc[40];
|
||||
|
|
@ -147,11 +143,7 @@ void ctcmpc_dumpit(char *buf, int len)
|
|||
|
||||
for (ct = 0; ct < len; ct++, ptr++, rptr++) {
|
||||
if (sw == 0) {
|
||||
#ifdef CONFIG_64BIT
|
||||
sprintf(addr, "%16.16llx", (__u64)rptr);
|
||||
#else
|
||||
sprintf(addr, "%8.8X", (__u32)rptr);
|
||||
#endif
|
||||
|
||||
sprintf(boff, "%4.4X", (__u32)ct);
|
||||
bhex[0] = '\0';
|
||||
|
|
@ -162,11 +154,7 @@ void ctcmpc_dumpit(char *buf, int len)
|
|||
if (sw == 8)
|
||||
strcat(bhex, " ");
|
||||
|
||||
#if CONFIG_64BIT
|
||||
sprintf(tbuf, "%2.2llX", (__u64)*ptr);
|
||||
#else
|
||||
sprintf(tbuf, "%2.2X", (__u32)*ptr);
|
||||
#endif
|
||||
|
||||
tbuf[2] = '\0';
|
||||
strcat(bhex, tbuf);
|
||||
|
|
|
|||
Loading…
Reference in a new issue