本文整理汇总了C++中cpu_reset函数的典型用法代码示例。如果您正苦于以下问题:C++ cpu_reset函数的具体用法?C++ cpu_reset怎么用?C++ cpu_reset使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cpu_reset函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: m68k_cpu_realizefn
static void m68k_cpu_realizefn(DeviceState *dev, Error **errp)
{
CPUState *cs = CPU(dev);
M68kCPU *cpu = M68K_CPU(dev);
M68kCPUClass *mcc = M68K_CPU_GET_CLASS(dev);
Error *local_err = NULL;
register_m68k_insns(&cpu->env);
cpu_exec_realizefn(cs, &local_err);
if (local_err != NULL) {
error_propagate(errp, local_err);
return;
}
m68k_cpu_init_gdb(cpu);
cpu_reset(cs);
qemu_init_vcpu(cs);
mcc->parent_realize(dev, errp);
}
开发者ID:alistair23,项目名称:qemu,代码行数:22,代码来源:cpu.c
示例2: ppce500_cpu_reset
static void ppce500_cpu_reset(void *opaque)
{
PowerPCCPU *cpu = opaque;
CPUState *cs = CPU(cpu);
CPUPPCState *env = &cpu->env;
struct boot_info *bi = env->load_info;
cpu_reset(cs);
/* Set initial guest state. */
cs->halted = 0;
env->gpr[1] = (16<<20) - 8;
env->gpr[3] = bi->dt_base;
env->gpr[4] = 0;
env->gpr[5] = 0;
env->gpr[6] = EPAPR_MAGIC;
env->gpr[7] = mmubooke_initial_mapsize(env);
env->gpr[8] = 0;
env->gpr[9] = 0;
env->nip = bi->entry;
mmubooke_create_initial_mapping(env);
}
开发者ID:chmeeedalf,项目名称:qemu-bsd-user,代码行数:22,代码来源:e500.c
示例3: cpu_cmd
int
cpu_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
unsigned long cpuid;
if (argc < 3)
return cmd_usage(cmdtp);
cpuid = simple_strtoul(argv[1], NULL, 10);
if (cpuid >= cpu_numcores()) {
printf ("Core num: %lu is out of range[0..%d]\n",
cpuid, cpu_numcores() - 1);
return 1;
}
if (argc == 3) {
if (strncmp(argv[2], "reset", 5) == 0)
cpu_reset(cpuid);
else if (strncmp(argv[2], "status", 6) == 0)
cpu_status(cpuid);
else if (strncmp(argv[2], "disable", 7) == 0)
return cpu_disable(cpuid);
else
return cmd_usage(cmdtp);
return 0;
}
/* 4 or greater, make sure its release */
if (strncmp(argv[2], "release", 7) != 0)
return cmd_usage(cmdtp);
if (cpu_release(cpuid, argc - 3, argv + 3))
return cmd_usage(cmdtp);
return 0;
}
开发者ID:xhnae86,项目名称:uboot_tiny4412,代码行数:38,代码来源:cmd_mp.c
示例4: emu_main_loop_inner
static void emu_main_loop_inner(void) {
if (!emulationPaused) {
if (cpuEvents & EVENT_RESET) {
gui_console_printf("[CEmu] Calculator reset triggered...\n");
cpu_reset();
cpuEvents &= ~EVENT_RESET;
}
#ifdef DEBUG_SUPPORT
if (!cpu.halted && (cpuEvents & EVENT_DEBUG_STEP)) {
cpuEvents &= ~EVENT_DEBUG_STEP;
open_debugger(DBG_STEP, 0);
}
#endif
if (!asic.shipModeEnabled) {
sched_process_pending_events();
cpu_execute();
} else {
gui_emu_sleep(50);
}
} else {
gui_emu_sleep(50);
}
}
开发者ID:alberthdev,项目名称:CEmu,代码行数:23,代码来源:emu.c
示例5: s390_cpu_initfn
static void s390_cpu_initfn(Object *obj)
{
S390CPU *cpu = S390_CPU(obj);
CPUS390XState *env = &cpu->env;
static int cpu_num = 0;
#if !defined(CONFIG_USER_ONLY)
struct tm tm;
#endif
cpu_exec_init(env);
#if !defined(CONFIG_USER_ONLY)
qemu_get_timedate(&tm, 0);
env->tod_offset = TOD_UNIX_EPOCH +
(time2tod(mktimegm(&tm)) * 1000000000ULL);
env->tod_basetime = 0;
env->tod_timer = qemu_new_timer_ns(vm_clock, s390x_tod_timer, cpu);
env->cpu_timer = qemu_new_timer_ns(vm_clock, s390x_cpu_timer, cpu);
#endif
env->cpu_num = cpu_num++;
env->ext_index = -1;
cpu_reset(CPU(cpu));
}
开发者ID:AlexWWW,项目名称:qemu-linaro-clone,代码行数:23,代码来源:cpu.c
示例6: tricore_cpu_realizefn
static void tricore_cpu_realizefn(DeviceState *dev, Error **errp)
{
CPUState *cs = CPU(dev);
TriCoreCPU *cpu = TRICORE_CPU(dev);
TriCoreCPUClass *tcc = TRICORE_CPU_GET_CLASS(dev);
CPUTriCoreState *env = &cpu->env;
/* Some features automatically imply others */
if (tricore_feature(env, TRICORE_FEATURE_161)) {
set_feature(env, TRICORE_FEATURE_16);
}
if (tricore_feature(env, TRICORE_FEATURE_16)) {
set_feature(env, TRICORE_FEATURE_131);
}
if (tricore_feature(env, TRICORE_FEATURE_131)) {
set_feature(env, TRICORE_FEATURE_13);
}
cpu_reset(cs);
qemu_init_vcpu(cs);
tcc->parent_realize(dev, errp);
}
开发者ID:AnselZhangGit,项目名称:qemu_stm32,代码行数:23,代码来源:cpu.c
示例7: main_cpu_reset
static void main_cpu_reset(void *opaque)
{
ResetData *s = (ResetData *)opaque;
CPUSPARCState *env = &s->cpu->env;
static unsigned int nr_resets;
cpu_reset(CPU(s->cpu));
cpu_timer_reset(env->tick);
cpu_timer_reset(env->stick);
cpu_timer_reset(env->hstick);
env->gregs[1] = 0; // Memory start
env->gregs[2] = ram_size; // Memory size
env->gregs[3] = 0; // Machine description XXX
if (nr_resets++ == 0) {
/* Power on reset */
env->pc = s->prom_addr + 0x20ULL;
} else {
env->pc = s->prom_addr + 0x40ULL;
}
env->npc = env->pc + 4;
}
开发者ID:nvgreensocs,项目名称:qemu-arm-mmio,代码行数:23,代码来源:sun4u.c
示例8: qemu_mallocz
CPUM68KState *cpu_m68k_init(const char *cpu_model)
{
CPUM68KState *env;
static int inited;
env = qemu_mallocz(sizeof(CPUM68KState));
cpu_exec_init(env);
if (!inited) {
inited = 1;
m68k_tcg_init();
}
env->cpu_model_str = cpu_model;
if (cpu_m68k_set_model(env, cpu_model) < 0) {
cpu_m68k_close(env);
return NULL;
}
cpu_reset(env);
qemu_init_vcpu(env);
return env;
}
开发者ID:dsqmoore,项目名称:qemu-1,代码行数:23,代码来源:helper.c
示例9: machine_kexec
void machine_kexec(struct kimage *image)
{
unsigned long page_list;
unsigned long reboot_code_buffer_phys;
void *reboot_code_buffer;
page_list = image->head & PAGE_MASK;
/* we need both effective and real address here */
reboot_code_buffer_phys =
page_to_pfn(image->control_code_page) << PAGE_SHIFT;
reboot_code_buffer = page_address(image->control_code_page);
/* Prepare parameters for reboot_code_buffer*/
kexec_start_address = image->start;
kexec_indirection_page = page_list;
kexec_mach_type = machine_arch_type;
kexec_boot_atags = image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET;
/* copy our kernel relocation code to the control code page */
memcpy(reboot_code_buffer,
relocate_new_kernel, relocate_new_kernel_size);
flush_icache_range((unsigned long) reboot_code_buffer,
(unsigned long) reboot_code_buffer + KEXEC_CONTROL_PAGE_SIZE);
printk(KERN_INFO "Bye!\n");
local_irq_disable();
local_fiq_disable();
setup_mm_for_reboot(0); /* mode is not used, so just pass 0*/
flush_cache_all();
cpu_proc_fin();
flush_cache_all();
cpu_reset(reboot_code_buffer_phys);
}
开发者ID:Bdaman80,项目名称:hero-kernel-2.6.35,代码行数:37,代码来源:machine_kexec.c
示例10: NIOS2_CPU
Nios2CPU *cpu_nios2_init(const char *cpu_model)
{
Nios2CPU *cpu;
int i;
cpu = NIOS2_CPU(object_new(TYPE_NIOS2_CPU));
cpu->env.reset_addr = RESET_ADDRESS;
cpu->env.exception_addr = EXCEPTION_ADDRESS;
cpu->env.fast_tlb_miss_addr = FAST_TLB_MISS_ADDRESS;
cpu_reset(CPU(cpu));
qemu_init_vcpu(CPU(cpu));
cpu_env = tcg_global_reg_new_ptr(TCG_AREG0, "env");
for (i = 0; i < NUM_CORE_REGS; i++) {
cpu_R[i] = tcg_global_mem_new(TCG_AREG0,
offsetof(CPUNios2State, regs[i]),
regnames[i]);
}
return cpu;
}
开发者ID:dearchap,项目名称:mb-qemu,代码行数:24,代码来源:translate.c
示例11: arch_reset
/*
* Reset the system. It is called by machine_restart().
*/
void arch_reset(char mode, const char *cmd)
{
unsigned int wcr_enable;
#ifdef CONFIG_MACH_MX51_EFIKAMX
if (machine_is_mx51_efikamx()) {
mx51_efikamx_reset();
return;
}
#endif
if (cpu_is_mx1()) {
wcr_enable = (1 << 0);
} else {
struct clk *clk;
clk = clk_get_sys("imx2-wdt.0", NULL);
if (!IS_ERR(clk))
clk_enable(clk);
wcr_enable = (1 << 2);
}
/* Assert SRS signal */
__raw_writew(wcr_enable, wdog_base);
/* wait for reset to assert... */
mdelay(500);
printk(KERN_ERR "Watchdog reset failed to assert reset\n");
/* delay to allow the serial port to show the message */
mdelay(50);
/* we'll take a jump through zero as a poor second */
cpu_reset(0);
}
开发者ID:007kumarraja,项目名称:rockchip-rk3188-mk908,代码行数:39,代码来源:system.c
示例12: main
int main(void)
{
/* USER CODE BEGIN 1 */
my_usb_init();
/* USER CODE END 1 */
/* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* Configure the system clock */
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM1_Init();
MX_USB_DEVICE_Init();
MX_USART3_UART_Init();
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start(&htim2);
delay_us_init(&htim2);
softserial_init(SOFTSERIAL_TX_GPIO_Port, SOFTSERIAL_TX_Pin);
hmi_lcd_init(&huart3);
cpu_ctrl_init(&htim1);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
HAL_Delay(100);
hsc_stop();
cpu_reset();
lcd_clear();
addr_input();
data_input();
build_ui();
HAL_Delay(100);
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(is_running == 0)
addr_data_display_update();
// z80 reset button
if(is_button_1_pressed)
{
hsc_stop();
cpu_reset();
lcd_print_width(130, 110, 180, 45, "CYAN", "RESET");
is_button_1_pressed = 0;
HAL_Delay(500);
build_ui();
}
// clk step button
if(is_button_3_pressed)
{
hsc_stop();
cycle_clock(1);
lcd_print_width(130, 110, 180, 45, "RED", "CLK STEP");
is_button_3_pressed = 0;
HAL_Delay(100);
build_ui();
}
// ins step button
if(is_button_4_pressed)
{
hsc_stop();
lcd_print_width(130, 110, 180, 45, "GREEN", "INS STEP");
// cycle clock until we're at next M1 cycle
while(HAL_GPIO_ReadPin(CPU_CTRL_PORT, M1_Pin) == LOW)
cycle_clock(1);
while(HAL_GPIO_ReadPin(CPU_CTRL_PORT, M1_Pin) == HIGH)
cycle_clock(1);
is_button_4_pressed = 0;
HAL_Delay(100);
build_ui();
}
// run/stop button
if(is_button_5_pressed)
{
is_running = (is_running + 1) % 2;
if(is_running)
{
lcd_print_width(130, 110, 180, 45, "GREEN", "RUNNING");
hsc_start();
}
else
{
hsc_stop();
build_ui();
}
//.........这里部分代码省略.........
开发者ID:dekuNukem,项目名称:FAP_Z80,代码行数:101,代码来源:main.c
示例13: _exit
void _exit(int status)
{
status = status;
/* TODO save stack + assert info into nvram */
cpu_reset("SYSCALL EXIT");
}
开发者ID:gabrielrezzonico,项目名称:canopus,代码行数:6,代码来源:syscalls.c
示例14: s390_cpu_machine_reset_cb
static void s390_cpu_machine_reset_cb(void *opaque)
{
S390CPU *cpu = opaque;
cpu_reset(CPU(cpu));
}
开发者ID:cns3xx,项目名称:qemu-cns3xxx,代码行数:6,代码来源:cpu.c
示例15: ppc_heathrow_reset
static void ppc_heathrow_reset(void *opaque)
{
PowerPCCPU *cpu = opaque;
cpu_reset(CPU(cpu));
}
开发者ID:AjayMashi,项目名称:x-tier,代码行数:6,代码来源:mac_oldworld.c
示例16: cpu_reset2
void cpu_reset2(const char *reason, int errcode)
{
//FIXME lame call, errcode discarded :/
cpu_reset(reason);
}
开发者ID:gabrielrezzonico,项目名称:canopus,代码行数:5,代码来源:cpu.c
示例17: main_cpu_reset
static void main_cpu_reset(void *opaque)
{
CPUState *env = opaque;
cpu_reset(env);
env->sregs[SR_PC] = bootstrap_pc;
}
开发者ID:TheLoneRanger14,项目名称:vmxray,代码行数:6,代码来源:petalogix_s3adsp1800_mmu.c
示例18: maincpu_reset
void maincpu_reset(void)
{
cpu_reset();
}
开发者ID:sasq64,项目名称:script-vice,代码行数:4,代码来源:mainviccpu.c
示例19: cpu_reboot
/*
* void cpu_reboot(int howto, char *bootstr)
*
* Reboots the system
*
* Deal with any syncing, unmounting, dumping and shutdown hooks,
* then reset the CPU.
*/
void
cpu_reboot(int howto, char *bootstr)
{
u_int32_t reg;
#ifdef DIAGNOSTIC
/* info */
printf("boot: howto=%08x curproc=%p\n", howto, curproc);
#endif
/*
* If we are still cold then hit the air brakes
* and crash to earth fast
*/
if (cold) {
doshutdownhooks();
printf("The operating system has halted.\n");
printf("Please press any key to reboot.\n\n");
cngetc();
printf("rebooting...\n");
goto reset;
}
/* Disable console buffering */
/*
* If RB_NOSYNC was not specified sync the discs.
* Note: Unless cold is set to 1 here, syslogd will die during the
* unmount. It looks like syslogd is getting woken up only to find
* that it cannot page part of the binary in as the filesystem has
* been unmounted.
*/
if (!(howto & RB_NOSYNC))
bootsync();
/* Say NO to interrupts */
splhigh();
/* Do a dump if requested. */
if ((howto & (RB_DUMP | RB_HALT)) == RB_DUMP)
dumpsys();
/* Run any shutdown hooks */
doshutdownhooks();
/* Make sure IRQ's are disabled */
IRQdisable;
if (howto & RB_HALT) {
printf("The operating system has halted.\n");
printf("Please press any key to reboot.\n\n");
cngetc();
}
printf("rebooting...\n\r");
reset:
/*
* Make really really sure that all interrupts are disabled,
*/
(void) disable_interrupts(I32_bit|F32_bit);
IXPREG(IXP425_INT_ENABLE) = 0;
/*
* Map the boot Flash device down at physical address 0.
* This is safe since NetBSD runs out of an alias of
* SDRAM at 0x10000000.
*/
reg = EXP_CSR_READ_4(ixpsip_softc, EXP_CNFG0_OFFSET);
reg |= EXP_CNFG0_MEM_MAP;
EXP_CSR_WRITE_4(ixpsip_softc, EXP_CNFG0_OFFSET, reg);
/*
* Jump into the bootcode's reset vector
*
* XXX:
* Redboot doesn't like the state in which we leave the PCI
* ethernet card, and so fails to detect it on reboot. This
* pretty much necessitates a hard reset/power cycle to be
* able to download a new kernel image over ethernet.
*
* I suspect this is due to a bug in Redboot's i82557 driver.
*/
cpu_reset();
/* ...and if that didn't work, just croak. */
printf("RESET FAILED!\n");
for (;;);
}
开发者ID:lacombar,项目名称:netbsd-alc,代码行数:96,代码来源:ixdp425_machdep.c
示例20: http_settings
void http_settings(char *rx, unsigned int rx_len)
{
unsigned int item, found, len;
int i;
char buf[16];
MAC_Addr mac;
IP_Addr ip;
unsigned int rgb;
for(; rx_len!=0;)
{
len = strlen("restartwebradio=");
if(strncmpi(rx, "restartwebradio=", len) == 0)
{
rx += len; rx_len -= len;
cpu_reset();
}
for(item=0, found=0; item<SETTINGSITEMS; item++)
{
if(settingsmenu[item].ini[0] == 0)
{
continue;
}
len = sprintf(buf, "%s=", settingsmenu[item].ini);
if(strncmpi(rx, buf, len) == 0)
{
rx += len; rx_len -= len;
len = url_decode(rx, rx, rx_len);
i = 0;
switch(settingsmenu[item].format)
{
case F_NR: //p1-p2, p3=step size
i = atoi(rx);
if(i < settingsmenu[item].p1){ i = settingsmenu[item].p1; }
else if(i > settingsmenu[item].p2){ i = settingsmenu[item].p2; }
itoa(i, buf, 10);
ini_setentry(SETTINGS_FILE, settingsmenu[item].ini, buf);
if(settingsmenu[item].set){ settingsmenu[item].set((void*)(int)i); }
break;
case F_OR: //p1 or p2
i = atoi(rx);
if((i != settingsmenu[item].p1) &&
(i != settingsmenu[item].p2)){ i = settingsmenu[item].p1; }
itoa(i, buf, 10);
ini_setentry(SETTINGS_FILE, settingsmenu[item].ini, buf);
if(settingsmenu[item].set){ settingsmenu[item].set((void*)(int)i); }
break;
case F_STR: //p1=max len
if((settingsmenu[item].p1 != 0) &&
(strlen(rx) > (unsigned)settingsmenu[item].p1))
{
rx[settingsmenu[item].p1] = 0;
}
ini_setentry(SETTINGS_FILE, settingsmenu[item].ini, rx);
if(settingsmenu[item].set){ settingsmenu[item].set(rx); }
break;
case F_MAC:
mac = atomac(rx);
ini_setentry(SETTINGS_FILE, settingsmenu[item].ini, mactoa(mac));
//if(settingsmenu[item].set){ settingsmenu[item].set((void*)(MAC_Addr)mac); }
break;
case F_IP:
ip = atoip(rx);
ini_setentry(SETTINGS_FILE, settingsmenu[item].ini, iptoa(ip));
if(settingsmenu[item].set){ settingsmenu[item].set((void*)(IP_Addr)atoip(rx)); }
break;
case F_RGB:
rgb = atorgb(rx);
sprintf(buf, "%03i,%03i,%03i", GET_RED(rgb), GET_GREEN(rgb), GET_BLUE(rgb));
ini_setentry(SETTINGS_FILE, settingsmenu[item].ini, buf);
if(settingsmenu[item].set){ settingsmenu[item].set((void*)(unsigned int)rgb); }
break;
}
rx += len; rx_len -= len;
found = 1;
break;
}
}
if(found == 0)
{
rx++; rx_len--;
}
}
menu_drawwnd(1);
return;
}
开发者ID:Bob4ik888,项目名称:WebRadio,代码行数:94,代码来源:http.c
注:本文中的cpu_reset函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论