 61442d6afb
			
		
	
	61442d6afb
	
	
	
		
			
			Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
		
			
				
	
	
		
			396 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			396 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| set(SRCS
 | |
|             arm/dynarmic/arm_dynarmic.cpp
 | |
|             arm/dynarmic/arm_dynarmic_cp15.cpp
 | |
|             arm/dyncom/arm_dyncom.cpp
 | |
|             arm/dyncom/arm_dyncom_dec.cpp
 | |
|             arm/dyncom/arm_dyncom_interpreter.cpp
 | |
|             arm/dyncom/arm_dyncom_thumb.cpp
 | |
|             arm/dyncom/arm_dyncom_trans.cpp
 | |
|             arm/skyeye_common/armstate.cpp
 | |
|             arm/skyeye_common/armsupp.cpp
 | |
|             arm/skyeye_common/vfp/vfp.cpp
 | |
|             arm/skyeye_common/vfp/vfpdouble.cpp
 | |
|             arm/skyeye_common/vfp/vfpinstr.cpp
 | |
|             arm/skyeye_common/vfp/vfpsingle.cpp
 | |
|             core.cpp
 | |
|             core_timing.cpp
 | |
|             file_sys/archive_backend.cpp
 | |
|             file_sys/archive_extsavedata.cpp
 | |
|             file_sys/archive_ncch.cpp
 | |
|             file_sys/archive_other_savedata.cpp
 | |
|             file_sys/archive_savedata.cpp
 | |
|             file_sys/archive_sdmc.cpp
 | |
|             file_sys/archive_sdmcwriteonly.cpp
 | |
|             file_sys/archive_selfncch.cpp
 | |
|             file_sys/archive_source_sd_savedata.cpp
 | |
|             file_sys/archive_systemsavedata.cpp
 | |
|             file_sys/disk_archive.cpp
 | |
|             file_sys/ivfc_archive.cpp
 | |
|             file_sys/path_parser.cpp
 | |
|             file_sys/savedata_archive.cpp
 | |
|             frontend/camera/blank_camera.cpp
 | |
|             frontend/camera/factory.cpp
 | |
|             frontend/camera/interface.cpp
 | |
|             frontend/emu_window.cpp
 | |
|             frontend/framebuffer_layout.cpp
 | |
|             gdbstub/gdbstub.cpp
 | |
|             hle/config_mem.cpp
 | |
|             hle/applets/applet.cpp
 | |
|             hle/applets/erreula.cpp
 | |
|             hle/applets/mii_selector.cpp
 | |
|             hle/applets/mint.cpp
 | |
|             hle/applets/swkbd.cpp
 | |
|             hle/kernel/address_arbiter.cpp
 | |
|             hle/kernel/client_port.cpp
 | |
|             hle/kernel/client_session.cpp
 | |
|             hle/kernel/event.cpp
 | |
|             hle/kernel/handle_table.cpp
 | |
|             hle/kernel/hle_ipc.cpp
 | |
|             hle/kernel/kernel.cpp
 | |
|             hle/kernel/memory.cpp
 | |
|             hle/kernel/mutex.cpp
 | |
|             hle/kernel/process.cpp
 | |
|             hle/kernel/resource_limit.cpp
 | |
|             hle/kernel/semaphore.cpp
 | |
|             hle/kernel/server_port.cpp
 | |
|             hle/kernel/server_session.cpp
 | |
|             hle/kernel/shared_memory.cpp
 | |
|             hle/kernel/thread.cpp
 | |
|             hle/kernel/timer.cpp
 | |
|             hle/kernel/vm_manager.cpp
 | |
|             hle/kernel/wait_object.cpp
 | |
|             hle/lock.cpp
 | |
|             hle/romfs.cpp
 | |
|             hle/service/ac/ac.cpp
 | |
|             hle/service/ac/ac_i.cpp
 | |
|             hle/service/ac/ac_u.cpp
 | |
|             hle/service/act/act.cpp
 | |
|             hle/service/act/act_a.cpp
 | |
|             hle/service/act/act_u.cpp
 | |
|             hle/service/am/am.cpp
 | |
|             hle/service/am/am_app.cpp
 | |
|             hle/service/am/am_net.cpp
 | |
|             hle/service/am/am_sys.cpp
 | |
|             hle/service/am/am_u.cpp
 | |
|             hle/service/apt/apt.cpp
 | |
|             hle/service/apt/apt_a.cpp
 | |
|             hle/service/apt/apt_s.cpp
 | |
|             hle/service/apt/apt_u.cpp
 | |
|             hle/service/apt/bcfnt/bcfnt.cpp
 | |
|             hle/service/boss/boss.cpp
 | |
|             hle/service/boss/boss_p.cpp
 | |
|             hle/service/boss/boss_u.cpp
 | |
|             hle/service/cam/cam.cpp
 | |
|             hle/service/cam/cam_c.cpp
 | |
|             hle/service/cam/cam_q.cpp
 | |
|             hle/service/cam/cam_s.cpp
 | |
|             hle/service/cam/cam_u.cpp
 | |
|             hle/service/cecd/cecd.cpp
 | |
|             hle/service/cecd/cecd_ndm.cpp
 | |
|             hle/service/cecd/cecd_s.cpp
 | |
|             hle/service/cecd/cecd_u.cpp
 | |
|             hle/service/cfg/cfg.cpp
 | |
|             hle/service/cfg/cfg_i.cpp
 | |
|             hle/service/cfg/cfg_nor.cpp
 | |
|             hle/service/cfg/cfg_s.cpp
 | |
|             hle/service/cfg/cfg_u.cpp
 | |
|             hle/service/csnd_snd.cpp
 | |
|             hle/service/dlp/dlp.cpp
 | |
|             hle/service/dlp/dlp_clnt.cpp
 | |
|             hle/service/dlp/dlp_fkcl.cpp
 | |
|             hle/service/dlp/dlp_srvr.cpp
 | |
|             hle/service/dsp_dsp.cpp
 | |
|             hle/service/err_f.cpp
 | |
|             hle/service/frd/frd.cpp
 | |
|             hle/service/frd/frd_a.cpp
 | |
|             hle/service/frd/frd_u.cpp
 | |
|             hle/service/fs/archive.cpp
 | |
|             hle/service/fs/fs_user.cpp
 | |
|             hle/service/gsp_gpu.cpp
 | |
|             hle/service/gsp_lcd.cpp
 | |
|             hle/service/hid/hid.cpp
 | |
|             hle/service/hid/hid_spvr.cpp
 | |
|             hle/service/hid/hid_user.cpp
 | |
|             hle/service/http_c.cpp
 | |
|             hle/service/ir/extra_hid.cpp
 | |
|             hle/service/ir/ir.cpp
 | |
|             hle/service/ir/ir_rst.cpp
 | |
|             hle/service/ir/ir_u.cpp
 | |
|             hle/service/ir/ir_user.cpp
 | |
|             hle/service/ldr_ro/cro_helper.cpp
 | |
|             hle/service/ldr_ro/ldr_ro.cpp
 | |
|             hle/service/ldr_ro/memory_synchronizer.cpp
 | |
|             hle/service/mic_u.cpp
 | |
|             hle/service/mvd/mvd.cpp
 | |
|             hle/service/mvd/mvd_std.cpp
 | |
|             hle/service/ndm/ndm.cpp
 | |
|             hle/service/ndm/ndm_u.cpp
 | |
|             hle/service/nfc/nfc.cpp
 | |
|             hle/service/nfc/nfc_m.cpp
 | |
|             hle/service/nfc/nfc_u.cpp
 | |
|             hle/service/news/news.cpp
 | |
|             hle/service/news/news_s.cpp
 | |
|             hle/service/news/news_u.cpp
 | |
|             hle/service/nim/nim.cpp
 | |
|             hle/service/nim/nim_aoc.cpp
 | |
|             hle/service/nim/nim_s.cpp
 | |
|             hle/service/nim/nim_u.cpp
 | |
|             hle/service/ns_s.cpp
 | |
|             hle/service/nwm/nwm.cpp
 | |
|             hle/service/nwm/nwm_cec.cpp
 | |
|             hle/service/nwm/nwm_ext.cpp
 | |
|             hle/service/nwm/nwm_inf.cpp
 | |
|             hle/service/nwm/nwm_sap.cpp
 | |
|             hle/service/nwm/nwm_soc.cpp
 | |
|             hle/service/nwm/nwm_tst.cpp
 | |
|             hle/service/nwm/nwm_uds.cpp
 | |
|             hle/service/nwm/uds_beacon.cpp
 | |
|             hle/service/nwm/uds_data.cpp
 | |
|             hle/service/pm_app.cpp
 | |
|             hle/service/ptm/ptm.cpp
 | |
|             hle/service/ptm/ptm_gets.cpp
 | |
|             hle/service/ptm/ptm_play.cpp
 | |
|             hle/service/ptm/ptm_sets.cpp
 | |
|             hle/service/ptm/ptm_sysm.cpp
 | |
|             hle/service/ptm/ptm_u.cpp
 | |
|             hle/service/qtm/qtm.cpp
 | |
|             hle/service/qtm/qtm_s.cpp
 | |
|             hle/service/qtm/qtm_sp.cpp
 | |
|             hle/service/qtm/qtm_u.cpp
 | |
|             hle/service/service.cpp
 | |
|             hle/service/sm/sm.cpp
 | |
|             hle/service/sm/srv.cpp
 | |
|             hle/service/soc_u.cpp
 | |
|             hle/service/ssl_c.cpp
 | |
|             hle/service/y2r_u.cpp
 | |
|             hle/shared_page.cpp
 | |
|             hle/svc.cpp
 | |
|             hw/aes/arithmetic128.cpp
 | |
|             hw/aes/ccm.cpp
 | |
|             hw/aes/key.cpp
 | |
|             hw/gpu.cpp
 | |
|             hw/hw.cpp
 | |
|             hw/lcd.cpp
 | |
|             hw/y2r.cpp
 | |
|             loader/3dsx.cpp
 | |
|             loader/elf.cpp
 | |
|             loader/loader.cpp
 | |
|             loader/ncch.cpp
 | |
|             loader/smdh.cpp
 | |
|             tracer/recorder.cpp
 | |
|             memory.cpp
 | |
|             perf_stats.cpp
 | |
|             settings.cpp
 | |
|             telemetry_session.cpp
 | |
|             )
 | |
| 
 | |
| set(HEADERS
 | |
|             3ds.h
 | |
|             arm/arm_interface.h
 | |
|             arm/dynarmic/arm_dynarmic.h
 | |
|             arm/dynarmic/arm_dynarmic_cp15.h
 | |
|             arm/dyncom/arm_dyncom.h
 | |
|             arm/dyncom/arm_dyncom_dec.h
 | |
|             arm/dyncom/arm_dyncom_interpreter.h
 | |
|             arm/dyncom/arm_dyncom_run.h
 | |
|             arm/dyncom/arm_dyncom_thumb.h
 | |
|             arm/dyncom/arm_dyncom_trans.h
 | |
|             arm/skyeye_common/arm_regformat.h
 | |
|             arm/skyeye_common/armstate.h
 | |
|             arm/skyeye_common/armsupp.h
 | |
|             arm/skyeye_common/vfp/asm_vfp.h
 | |
|             arm/skyeye_common/vfp/vfp.h
 | |
|             arm/skyeye_common/vfp/vfp_helper.h
 | |
|             core.h
 | |
|             core_timing.h
 | |
|             file_sys/archive_backend.h
 | |
|             file_sys/archive_extsavedata.h
 | |
|             file_sys/archive_ncch.h
 | |
|             file_sys/archive_other_savedata.h
 | |
|             file_sys/archive_savedata.h
 | |
|             file_sys/archive_sdmc.h
 | |
|             file_sys/archive_sdmcwriteonly.h
 | |
|             file_sys/archive_selfncch.h
 | |
|             file_sys/archive_source_sd_savedata.h
 | |
|             file_sys/archive_systemsavedata.h
 | |
|             file_sys/directory_backend.h
 | |
|             file_sys/disk_archive.h
 | |
|             file_sys/errors.h
 | |
|             file_sys/file_backend.h
 | |
|             file_sys/ivfc_archive.h
 | |
|             file_sys/path_parser.h
 | |
|             file_sys/savedata_archive.h
 | |
|             frontend/camera/blank_camera.h
 | |
|             frontend/camera/factory.h
 | |
|             frontend/camera/interface.h
 | |
|             frontend/emu_window.h
 | |
|             frontend/framebuffer_layout.h
 | |
|             frontend/input.h
 | |
|             gdbstub/gdbstub.h
 | |
|             hle/config_mem.h
 | |
|             hle/function_wrappers.h
 | |
|             hle/ipc.h
 | |
|             hle/ipc_helpers.h
 | |
|             hle/applets/applet.h
 | |
|             hle/applets/erreula.h
 | |
|             hle/applets/mii_selector.h
 | |
|             hle/applets/mint.h
 | |
|             hle/applets/swkbd.h
 | |
|             hle/kernel/address_arbiter.h
 | |
|             hle/kernel/client_port.h
 | |
|             hle/kernel/client_session.h
 | |
|             hle/kernel/errors.h
 | |
|             hle/kernel/event.h
 | |
|             hle/kernel/handle_table.h
 | |
|             hle/kernel/hle_ipc.h
 | |
|             hle/kernel/kernel.h
 | |
|             hle/kernel/memory.h
 | |
|             hle/kernel/mutex.h
 | |
|             hle/kernel/process.h
 | |
|             hle/kernel/resource_limit.h
 | |
|             hle/kernel/semaphore.h
 | |
|             hle/kernel/server_port.h
 | |
|             hle/kernel/server_session.h
 | |
|             hle/kernel/session.h
 | |
|             hle/kernel/shared_memory.h
 | |
|             hle/kernel/thread.h
 | |
|             hle/kernel/timer.h
 | |
|             hle/kernel/vm_manager.h
 | |
|             hle/kernel/wait_object.h
 | |
|             hle/lock.h
 | |
|             hle/result.h
 | |
|             hle/romfs.h
 | |
|             hle/service/ac/ac.h
 | |
|             hle/service/ac/ac_i.h
 | |
|             hle/service/ac/ac_u.h
 | |
|             hle/service/act/act.h
 | |
|             hle/service/act/act_a.h
 | |
|             hle/service/act/act_u.h
 | |
|             hle/service/am/am.h
 | |
|             hle/service/am/am_app.h
 | |
|             hle/service/am/am_net.h
 | |
|             hle/service/am/am_sys.h
 | |
|             hle/service/am/am_u.h
 | |
|             hle/service/apt/apt.h
 | |
|             hle/service/apt/apt_a.h
 | |
|             hle/service/apt/apt_s.h
 | |
|             hle/service/apt/apt_u.h
 | |
|             hle/service/apt/bcfnt/bcfnt.h
 | |
|             hle/service/boss/boss.h
 | |
|             hle/service/boss/boss_p.h
 | |
|             hle/service/boss/boss_u.h
 | |
|             hle/service/cam/cam.h
 | |
|             hle/service/cam/cam_c.h
 | |
|             hle/service/cam/cam_q.h
 | |
|             hle/service/cam/cam_s.h
 | |
|             hle/service/cam/cam_u.h
 | |
|             hle/service/cecd/cecd.h
 | |
|             hle/service/cecd/cecd_ndm.h
 | |
|             hle/service/cecd/cecd_s.h
 | |
|             hle/service/cecd/cecd_u.h
 | |
|             hle/service/cfg/cfg.h
 | |
|             hle/service/cfg/cfg_i.h
 | |
|             hle/service/cfg/cfg_nor.h
 | |
|             hle/service/cfg/cfg_s.h
 | |
|             hle/service/cfg/cfg_u.h
 | |
|             hle/service/csnd_snd.h
 | |
|             hle/service/dlp/dlp.h
 | |
|             hle/service/dlp/dlp_clnt.h
 | |
|             hle/service/dlp/dlp_fkcl.h
 | |
|             hle/service/dlp/dlp_srvr.h
 | |
|             hle/service/dsp_dsp.h
 | |
|             hle/service/err_f.h
 | |
|             hle/service/frd/frd.h
 | |
|             hle/service/frd/frd_a.h
 | |
|             hle/service/frd/frd_u.h
 | |
|             hle/service/fs/archive.h
 | |
|             hle/service/fs/fs_user.h
 | |
|             hle/service/gsp_gpu.h
 | |
|             hle/service/gsp_lcd.h
 | |
|             hle/service/hid/hid.h
 | |
|             hle/service/hid/hid_spvr.h
 | |
|             hle/service/hid/hid_user.h
 | |
|             hle/service/http_c.h
 | |
|             hle/service/ir/extra_hid.h
 | |
|             hle/service/ir/ir.h
 | |
|             hle/service/ir/ir_rst.h
 | |
|             hle/service/ir/ir_u.h
 | |
|             hle/service/ir/ir_user.h
 | |
|             hle/service/ldr_ro/cro_helper.h
 | |
|             hle/service/ldr_ro/ldr_ro.h
 | |
|             hle/service/ldr_ro/memory_synchronizer.h
 | |
|             hle/service/mic_u.h
 | |
|             hle/service/mvd/mvd.h
 | |
|             hle/service/mvd/mvd_std.h
 | |
|             hle/service/ndm/ndm.h
 | |
|             hle/service/ndm/ndm_u.h
 | |
|             hle/service/nfc/nfc.h
 | |
|             hle/service/nfc/nfc_m.h
 | |
|             hle/service/nfc/nfc_u.h
 | |
|             hle/service/news/news.h
 | |
|             hle/service/news/news_s.h
 | |
|             hle/service/news/news_u.h
 | |
|             hle/service/nim/nim.h
 | |
|             hle/service/nim/nim_aoc.h
 | |
|             hle/service/nim/nim_s.h
 | |
|             hle/service/nim/nim_u.h
 | |
|             hle/service/ns_s.h
 | |
|             hle/service/nwm/nwm.h
 | |
|             hle/service/nwm/nwm_cec.h
 | |
|             hle/service/nwm/nwm_ext.h
 | |
|             hle/service/nwm/nwm_inf.h
 | |
|             hle/service/nwm/nwm_sap.h
 | |
|             hle/service/nwm/nwm_soc.h
 | |
|             hle/service/nwm/nwm_tst.h
 | |
|             hle/service/nwm/nwm_uds.h
 | |
|             hle/service/nwm/uds_beacon.h
 | |
|             hle/service/nwm/uds_data.h
 | |
|             hle/service/pm_app.h
 | |
|             hle/service/ptm/ptm.h
 | |
|             hle/service/ptm/ptm_gets.h
 | |
|             hle/service/ptm/ptm_play.h
 | |
|             hle/service/ptm/ptm_sets.h
 | |
|             hle/service/ptm/ptm_sysm.h
 | |
|             hle/service/ptm/ptm_u.h
 | |
|             hle/service/qtm/qtm.h
 | |
|             hle/service/qtm/qtm_s.h
 | |
|             hle/service/qtm/qtm_sp.h
 | |
|             hle/service/qtm/qtm_u.h
 | |
|             hle/service/service.h
 | |
|             hle/service/sm/sm.h
 | |
|             hle/service/sm/srv.h
 | |
|             hle/service/soc_u.h
 | |
|             hle/service/ssl_c.h
 | |
|             hle/service/y2r_u.h
 | |
|             hle/shared_page.h
 | |
|             hle/svc.h
 | |
|             hw/aes/arithmetic128.h
 | |
|             hw/aes/ccm.h
 | |
|             hw/aes/key.h
 | |
|             hw/gpu.h
 | |
|             hw/hw.h
 | |
|             hw/lcd.h
 | |
|             hw/y2r.h
 | |
|             loader/3dsx.h
 | |
|             loader/elf.h
 | |
|             loader/loader.h
 | |
|             loader/ncch.h
 | |
|             loader/smdh.h
 | |
|             tracer/recorder.h
 | |
|             tracer/citrace.h
 | |
|             memory.h
 | |
|             memory_setup.h
 | |
|             mmio.h
 | |
|             perf_stats.h
 | |
|             settings.h
 | |
|             telemetry_session.h
 | |
|             )
 | |
| 
 | |
| create_directory_groups(${SRCS} ${HEADERS})
 | |
| add_library(core STATIC ${SRCS} ${HEADERS})
 | |
| target_link_libraries(core PUBLIC common PRIVATE audio_core network video_core)
 | |
| target_link_libraries(core PUBLIC Boost::boost PRIVATE cryptopp dynarmic fmt)
 | |
| if (ENABLE_WEB_SERVICE)
 | |
|     target_link_libraries(core PUBLIC json-headers web_service)
 | |
| endif()
 |