Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 01/16/2019 in all areas

  1. 3 points
    headkaze

    Hackintool v1.8.6

    The name change has been on the cards for a while. It's become more than just a framebuffer patching app as now it includes audio, USB and EDID patching. So I've had people say it should be renamed because it's confusing and others say I should break it up into different apps. The main reason why I wanted to keep it a single app is I'm too lazy to maintain 4 different ones. Anyway I personally like the name "Hackintool" and I think it suits this app well. I did try a few different icons but ended up going with the current one. I'll attach the other designs I was looking at.
  2. 2 points
    blackosx

    Vector Themes

    Ah... Edit the theme.svg file in a text editor and look for a line near the top of the file that defines the background scaling. BackgroundScale="scale" If it’s set to scale then change it to crop, or vice versa.
  3. 1 point
    Atheros AR9565 Wireless for OS X 10.8.x/10.9.x / 10.10.x / 10.12.6/10.13.6/10.14 # Install Atheros AR9565 Driver for MacOS 10.8 - 10.14 curl -O https://raw.githubusercontent.com/kalifans/Darwin/Driver/ar956x-drv-osx.tar.gz tar zxvf ar956x-drv-osx.tar.gz cd ar956x-drv-osx ./ar956x-inst.sh Reboot Preview
  4. 1 point
    intanto devi estrarre le ACPI, quindi ti fermi nella GUI di clover, pigi F4 e conti sino a 33 (non succede niente a monitor e non sei su scherzi a parte) poi avvii e posti il contenuto compresso della cartella origin in EFI clover acpi poi fai ioreg e lo alleghi compresso pure lui e poi quel che ti chiederà il boss
  5. 1 point
    gengik84

    ASUS N552VW - Nuovo utente

    Ciao..non so esattamente il chipset ma vedendo la descrizione, a regola dovrebbe andare puoi usare anche la versione più recente di Fake, nessun problema clover configurator da qui https://mackie100projects.altervista.org/download/clover-configurator-5-3-0-0-global-edition/
  6. 1 point
    tutta pratica
  7. 1 point
    nel bios la integrata è attiva, giusto... che non facciamo delle come come l'altro giorno che ti passavo setup per far andare la integrata e tu avevi il monitor collegato ala nvidia... quindi iGPU attiva nel bios e prova questo config e vedi se si aggiunge in grafica monitor e se si attiva qualcosa nella codifica hardware config.plist 3.zip BIOS setting: Advanced \ System Agent(SA) Configuration → IGPU Multi-Monitor : Enabled Advanced \ System Agent(SA) Configuration → DVMT pre-Allocated : 128Mb
  8. 1 point
    blackosx

    Clover SVG Theme Builder

    The script is now at version 0.3.2 and can be found at https://bitbucket.org/blackosx/cloversvgthemebuilder/src/master/ Changelog - Allow just two checkboxes, instead of expecting night icons also. - Include Selection Indicator. - Can now process multiple themes from Themes directory. - Improved logging.
  9. 1 point
    fantomas1

    Versions bêta : macOS 10.14.3

    macOS Mojave 10.14.3 beta 4 (18D39a) [ 10 Janvier, 2019 ]
  10. 1 point
    jalavoui

    AMD Mojave Kernel Development and Testing

    this can be ported from 10.14.2 (need some fixes to compile) int __cdecl necp_client_add_flow(necp_fd_data *fd_data, necp_client_action_args *uap, int *retval) { vm_size_t v3; // rdx vm_size_t v4; // rsi bool v5; // ST2F_1 bool v6; // ST2D_1 user_addr_t v7; // rdx vm_size_t v8; // rsi int result; // eax unsigned __int8 *necp_client_uuid; // [rsp+50h] [rbp-230h] unsigned int copy_error; // [rsp+7Ch] [rbp-204h] necp_stats_bufreq bufreq; // [rsp+80h] [rbp-200h] necp_client_flow_stats *stats_request; // [rsp+98h] [rbp-1E8h] int request_error; // [rsp+A4h] [rbp-1DCh] necp_client_interface_option *option_0; // [rsp+A8h] [rbp-1D8h] necp_client_interface_option *option; // [rsp+B0h] [rbp-1D0h] u_int32_t option_i; // [rsp+BCh] [rbp-1C4h] _Bool found_nexus; // [rsp+C3h] [rbp-1BDh] uint32_t_0 interface_index; // [rsp+C4h] [rbp-1BCh] size_t_0 assigned_results_length; // [rsp+C8h] [rbp-1B8h] void *assigned_results; // [rsp+D0h] [rbp-1B0h] necp_client_flow_registration *new_registration; // [rsp+D8h] [rbp-1A8h] pid_t pid; // [rsp+E4h] [rbp-19Ch] necp_client_add_flow *v24; // [rsp+E8h] [rbp-198h] necp_client_add_flow *allocated_add_request; // [rsp+F0h] [rbp-190h] necp_client_add_flow *add_request; // [rsp+F8h] [rbp-188h] proc *proc; // [rsp+100h] [rbp-180h] necp_client *client; // [rsp+108h] [rbp-178h] int error; // [rsp+114h] [rbp-16Ch] int *retvala; // [rsp+118h] [rbp-168h] necp_client_action_args *uapa; // [rsp+120h] [rbp-160h] necp_fd_data *fd_dataa; // [rsp+128h] [rbp-158h] __int64 v33; // [rsp+130h] [rbp-150h] vm_size_t nbytes; // [rsp+138h] [rbp-148h] void *kernel_addr; // [rsp+140h] [rbp-140h] user_addr_t user_addr; // [rsp+148h] [rbp-138h] __int64 v37; // [rsp+150h] [rbp-130h] vm_size_t v38; // [rsp+158h] [rbp-128h] void *v39; // [rsp+160h] [rbp-120h] user_addr_t v40; // [rsp+168h] [rbp-118h] __int64 v41; // [rsp+170h] [rbp-110h] vm_size_t v42; // [rsp+178h] [rbp-108h] void *v43; // [rsp+180h] [rbp-100h] user_addr_t v44; // [rsp+188h] [rbp-F8h] __int64 v45; // [rsp+190h] [rbp-F0h] vm_size_t v46; // [rsp+198h] [rbp-E8h] user_addr_t v47; // [rsp+1A0h] [rbp-E0h] void *v48; // [rsp+1A8h] [rbp-D8h] necp_client_add_flow_default default_add_request; // [rsp+1B0h] [rbp-D0h] necp_client_nexus_parameters parameters; // [rsp+1F0h] [rbp-90h] uuid_t client_id; // [rsp+250h] [rbp-30h] __int64 v52; // [rsp+268h] [rbp-18h] fd_dataa = fd_data; uapa = uap; retvala = retval; error = 0; client = 0LL; secure_memset(&parameters, 0, 0x60uLL); proc = 0LL; add_request = 0LL; allocated_add_request = 0LL; secure_memset(&default_add_request, 0, 0x3CuLL); if ( !uap->client_id || uapa->client_id_len != 16 ) { error = 22; log(3, "%s: necp_client_add_flow invalid client_id (length %zu)\n", "necp_client_add_flow", uapa->client_id_len); goto LABEL_64; } if ( !uapa->buffer || uapa->buffer_size < 0x24 ) { error = 22; log(3, "%s: necp_client_add_flow invalid buffer (length %zu)\n", "necp_client_add_flow", uapa->buffer_size); goto LABEL_64; } user_addr = uapa->client_id; kernel_addr = client_id; nbytes = 16LL; v33 = 16LL; error = copyin(user_addr, client_id, 0x10uLL); if ( error ) { log(3, "%s: necp_client_add_flow copyin client_id error (%d)\n", "necp_client_add_flow", (unsigned int)error); goto LABEL_64; } if ( uapa->buffer_size > 0x3C ) { v24 = (necp_client_add_flow *)_MALLOC(uapa->buffer_size, 118, 4, &necp_client_add_flow_site); allocated_add_request = v24; if ( !v24 ) { error = 12; goto LABEL_64; } v4 = uapa->buffer_size; v44 = uapa->buffer; v43 = allocated_add_request; v42 = v4; v41 = -1LL; if ( v4 > 0xFFFFFFFFFFFFFFFFLL ) panic( "\"__copyin_chk object size check failed: uaddr %p, kaddr %p, (%zu < %zu)\"@/BuildRoot/Library/Caches/com.apple.x" "bs/Sources/xnu_debug/xnu-4903.231.4/bsd/libkern/copyio.h:45", v44, v43, v42, v41); error = copyin(v44, v43, v42); if ( error ) { log( 3, "%s: necp_client_add_flow copyin default_add_request error (%d)\n", "necp_client_add_flow", (unsigned int)error); goto LABEL_64; } add_request = allocated_add_request; } else { v3 = uapa->buffer_size; v40 = uapa->buffer; v39 = &default_add_request; v38 = v3; v37 = 60LL; if ( v3 > 0x3C ) panic( "\"__copyin_chk object size check failed: uaddr %p, kaddr %p, (%zu < %zu)\"@/BuildRoot/Library/Caches/com.apple.x" "bs/Sources/xnu_debug/xnu-4903.231.4/bsd/libkern/copyio.h:45", v40, v39, v38, v37); error = copyin(v40, v39, v38); if ( error ) { log( 3, "%s: necp_client_add_flow copyin default_add_request error (%d)\n", "necp_client_add_flow", (unsigned int)error); goto LABEL_64; } add_request = (necp_client_add_flow *)&default_add_request; } lck_mtx_lock((lck_mtx_t *)&fd_dataa->fd_lock); pid = fd_dataa->proc_pid; proc = proc_find(pid); if ( proc ) { client = necp_client_fd_find_client_and_lock(fd_dataa, client_id); if ( client ) { *((_BYTE *)client + 100) &= 0xFBu; necp_client_retain_locked(client); necp_client_copy_parameters_locked(client, &parameters); new_registration = necp_client_create_flow_registration(fd_dataa, client); if ( new_registration ) { new_registration->flags = add_request->flags; uuid_copy(add_request->registration_id, new_registration->registration_id); if ( add_request->flags & 1 ) { assigned_results = 0LL; assigned_results_length = 0LL; interface_index = 0; found_nexus = 0; for ( option_i = 0; option_i < client->interface_option_count; ++option_i ) { if ( option_i >= 4 ) { option_0 = &client->extra_interface_options[option_i - 4]; if ( !uuid_compare(option_0->nexus_agent, add_request->agent_uuid) ) { interface_index = option_0->interface_index; found_nexus = 1; break; } } else { option = &client->interface_options[option_i]; if ( !uuid_compare(option->nexus_agent, add_request->agent_uuid) ) { interface_index = option->interface_index; found_nexus = 1; break; } } } if ( found_nexus ) { necp_client_add_nexus_flow_if_needed(new_registration, add_request->agent_uuid, interface_index); if ( new_registration->flags & 2 ) necp_client_uuid = client->client_id; else necp_client_uuid = new_registration->registration_id; request_error = netagent_client_message_with_params( add_request->agent_uuid, necp_client_uuid, pid, client->agent_handle, 0xAu, &parameters, &assigned_results, &assigned_results_length); if ( request_error ) { if ( assigned_results ) v5 = assfail( "assigned_results == NULL", "/BuildRoot/Library/Caches/com.apple.xbs/Sources/xnu_debug/xnu-4903.231.4/bsd/net/necp_client.c", 6107) != 0; if ( assigned_results_length ) v6 = assfail( "assigned_results_length == 0", "/BuildRoot/Library/Caches/com.apple.xbs/Sources/xnu_debug/xnu-4903.231.4/bsd/net/necp_client.c", 6108) != 0; log(3, "%s: netagent_client_message error (%d)\n", "necp_client_add_flow", (unsigned int)request_error); } else if ( assigned_results && assigned_results_length ) { if ( !necp_assign_client_result_locked( proc, fd_dataa, client, new_registration, add_request->agent_uuid, (u_int8_t *)assigned_results, assigned_results_length, 0) && assigned_results ) { FREE(assigned_results, 124); } } else if ( assigned_results ) { FREE(assigned_results, 124); } } else { log(3, "%s: %s\n", "necp_client_add_flow", "Requested nexus not found"); } } if ( (signed int)add_request->stats_request_count > 0 && !necp_arena_initialize(fd_dataa, 1) ) { stats_request = (necp_client_flow_stats *)&add_request[1]; secure_memset(&bufreq, 0, 0x18uLL); bufreq.necp_stats_bufreq_id = 191; *(_QWORD *)&bufreq.necp_stats_bufreq_type = *(_QWORD *)&stats_request->stats_type; bufreq.necp_stats_bufreq_size = stats_request->stats_size; bufreq._anon_0.necp_stats_bufreq_uaddr = stats_request->stats_addr; necp_stats_initialize(fd_dataa, client, new_registration, &bufreq); *(_QWORD *)&stats_request->stats_type = *(_QWORD *)&bufreq.necp_stats_bufreq_type; stats_request->stats_size = bufreq.necp_stats_bufreq_size; stats_request->stats_addr = bufreq._anon_0.necp_stats_bufreq_uaddr; } lck_mtx_unlock((lck_mtx_t *)&client->lock); lck_mtx_unlock((lck_mtx_t *)&fd_dataa->fd_lock); necp_client_release(client); v7 = uapa->buffer; v8 = uapa->buffer_size; v48 = add_request; v47 = v7; v46 = v8; v45 = -1LL; if ( v8 > 0xFFFFFFFFFFFFFFFFLL ) panic( "\"__copyout_chk object size check failed: uaddr %p, kaddr %p, (%zu < %zu)\"@/BuildRoot/Library/Caches/com.ap" "ple.xbs/Sources/xnu_debug/xnu-4903.231.4/bsd/libkern/copyio.h:54", v47, v48, v46, v45); copy_error = copyout(v48, v47, v46); if ( copy_error ) log(3, "%s: necp_client_add_flow copyout add_request error (%d)\n", "necp_client_add_flow", copy_error); } else { error = 12; lck_mtx_unlock((lck_mtx_t *)&client->lock); lck_mtx_unlock((lck_mtx_t *)&fd_dataa->fd_lock); log(3, "%s: %s\n", "necp_client_add_flow", "Failed to allocate flow registration"); } } else { error = 2; lck_mtx_unlock((lck_mtx_t *)&fd_dataa->fd_lock); } } else { lck_mtx_unlock((lck_mtx_t *)&fd_dataa->fd_lock); log( 3, "%s: necp_client_add_flow process not found for pid %d error (%d)\n", "necp_client_add_flow", (unsigned int)pid, (unsigned int)error); error = 3; } LABEL_64: *retvala = error; if ( error ) log(3, "%s: Add flow error (%d)\n", "necp_client_add_flow", (unsigned int)error); if ( allocated_add_request ) FREE(allocated_add_request, 118); if ( proc ) proc_rele(proc); result = error; if ( _stack_chk_guard == v52 ) result = error; return result; } i've just added a cpu errata code to xnu (from freebsd) static void init_amd_erratas(i386_cpu_info_t *info_p) { uint64_t msr; /* * Work around Erratum 721 for Family 10h and 12h processors. * These processors may incorrectly update the stack pointer * after a long series of push and/or near-call instructions, * or a long series of pop and/or near-return instructions. * * http://support.amd.com/us/Processor_TechDocs/41322_10h_Rev_Gd.pdf * http://support.amd.com/us/Processor_TechDocs/44739_12h_Rev_Gd.pdf * * Hypervisors do not provide access to the errata MSR, * causing #GP exception on attempt to apply the errata. The * MSR write shall be done on host and persist globally * anyway, so do not try to do it when under virtualization. */ switch (info_p->cpuid_family) { case 0x10: case 0x12: if ((info_p->cpuid_features & 0x80000000) == 0) wrmsr64(0xc0011029, rdmsr64(0xc0011029) | 1); break; } /* * BIOS may fail to set InitApicIdCpuIdLo to 1 as it should per BKDG. * So, do it here or otherwise some tools could be confused by * Initial Local APIC ID reported with CPUID Function 1 in EBX. */ if (info_p->cpuid_family == 0x10) { if ((info_p->cpuid_features & 0x80000000) == 0) { msr = rdmsr64(0xc001001f); msr |= (uint64_t)1 << 54; wrmsr64(0xc001001f, msr); } } /* * BIOS may configure Family 10h processors to convert WC+ cache type * to CD. That can hurt performance of guest VMs using nested paging. * The relevant MSR bit is not documented in the BKDG, * the fix is borrowed from Linux. */ if (info_p->cpuid_family == 0x10) { if ((info_p->cpuid_features & 0x80000000) == 0) { msr = rdmsr64(0xc001102a); msr &= ~((uint64_t)1 << 24); wrmsr64(0xc001102a, msr); } } /* * Work around Erratum 793: Specific Combination of Writes to Write * Combined Memory Types and Locked Instructions May Cause Core Hang. * See Revision Guide for AMD Family 16h Models 00h-0Fh Processors, * revision 3.04 or later, publication 51810. */ if (info_p->cpuid_family== 0x16 && info_p->cpuid_model <= 0xf) { if ((info_p->cpuid_features & 0x80000000) == 0) { msr = rdmsr64(0xc0011020); msr |= (uint64_t)1 << 15; wrmsr64(0xc0011020, msr); } } /* Ryzen erratas. */ if (info_p->cpuid_family == 0x17 && info_p->cpuid_model == 0x1 && (info_p->cpuid_features & 0x80000000) == 0) { /* 1021 */ msr = rdmsr64(0xc0011029); msr |= 0x2000; wrmsr64(0xc0011029, msr); /* 1033 */ msr = rdmsr64(0xc0011020); msr |= 0x10; wrmsr64(0xc0011020, msr); /* 1049 */ msr = rdmsr64(0xc0011028); msr |= 0x10; wrmsr64(0xc0011028, msr); /* 1095 */ msr = rdmsr64(0xc0011020); msr |= 0x200000000000000; wrmsr64(0xc0011020, msr); } /* * Work around a problem on Ryzen that is triggered by executing * code near the top of user memory, in our case the signal * trampoline code in the shared page on amd64. * * This function is executed once for the BSP before tunables take * effect so the value determined here can be overridden by the * tunable. This function is then executed again for each AP and * also on resume. Set a flag the first time so that value set by * the tunable is not overwritten. * * The stepping and/or microcode versions should be checked after * this issue is fixed by AMD so that we don't use this mode if not * needed. */ /*if (lower_sharedpage_init == 0) { lower_sharedpage_init = 1; if (info_p->cpuid_family == 0x17) { hw_lower_amd64_sharedpage = 1; } } amd64_lower_shared_page(struct sysentvec *sv) if (hw_lower_amd64_sharedpage != 0) { sv->sv_maxuser -= PAGE_SIZE; sv->sv_shared_page_base -= PAGE_SIZE; sv->sv_usrstack -= PAGE_SIZE; sv->sv_psstrings -= PAGE_SIZE; }*/ } attached kernel for testing on 10.14.2 source is based on https://github.com/Shaneee92/Mojave_AMD_XNU (with opemu) + 2 functions (check p1.diff) will also check https://github.com/torvalds/linux/blob/master/arch/x86/kernel/cpu/amd.c the mach_msg_destroy_from_kernel_proper() will be available as soon as 10.14.2 sources are out. the necp_client_add_flow() doesnt exist in 10.14.1 sources - maybe remove it and test ? update: - fixed cpu errata call spot kernel p2.diff
  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
×