コード例 #1
0
ファイル: fba2dump.c プロジェクト: hreinecke/s390-tools
/*
 * Write memory with number of blocks to start block
 */
static void writeblock(unsigned long blk, unsigned long addr, unsigned long blk_count,
                       unsigned long zero_page)
{
    unsigned long blk_end;

    blk_end = blk + blk_count;
    if (blk_end >= device.blk_end)
        panic(EMEM, "Device too small");
    ccw_program.wrccw.count = b2m(blk_count);
    lodata.blk_ct = blk_count;
    lodata.blk_nr = blk;
    create_ida_list(ccw_program.ida_list, b2m(blk_count), addr, zero_page);
    start_io(IPL_SC, &irb, &orb);
}
コード例 #2
0
ファイル: fba2dump.c プロジェクト: hreinecke/s390-tools
/*
 * Dump all memory to DASD partition
 */
void dt_dump_mem(void)
{
    unsigned long blk, addr, page;

    ccw_program_init();
    blk = device.blk_start;
    page = get_zeroed_page();

    /* Write dump header */
    writeblock(blk, __pa(dump_hdr), m2b(DF_S390_HDR_SIZE), 0);
    blk += DF_S390_HDR_SIZE / BLK_SIZE;

    /* Write memory */
    for (addr = 0; addr < dump_hdr->mem_size; addr += b2m(BLK_PWRT)) {
        writeblock(blk, addr, BLK_PWRT, page);
        progress_print(addr);
        blk += BLK_PWRT;
    }
    progress_print(addr);

    /* Write end marker */
    df_s390_em_page_init(page);
    writeblock(blk, page, 1, 0);
    free_page(page);
}
コード例 #3
0
ファイル: b2m.cpp プロジェクト: fesh0r/mame-full
void b2m_state::b2mrom(machine_config &config)
{
	b2m(config);
	m_maincpu->set_addrmap(AS_IO, &b2m_state::b2m_rom_io);
}