Jump to content
30960 posts in this topic

Recommended Posts

@Slice they're downloaded & compiled by Clover builder itself.

nasm:

NASM version 2.15.05 compiled on Apr  4 2021

Unfortunately I don't know what version is MTOC, but named: "mtoc.NEW_jief", also downloaded by Clover buildme

They're located in ./toolchain/bin

1 hour ago, kushwavez said:

@Slice they're downloaded & compiled by Clover builder itself.

nasm:


NASM version 2.15.05 compiled on Apr  4 2021

Unfortunately I don't know what version is MTOC, but named: "mtoc.NEW_jief", also downloaded by Clover buildme

They're located in ./toolchain/bin

Correct.

Then I see no reason why you can't compile.

My system is Mojave. Your as well?

 

5 hours ago, kushwavez said:

Unfortunately I don't know what version is MTOC, but named: "mtoc.NEW_jief",

Yes, I had to modify that to be able to live debug with gdb. Before it was call mtoc.NEW.

Maybe we should just come back to "mtoc"...

Nothing really important here. And the unrecognized "-mabi=ms" was way before the mtoc phase.

Glad you you found the problem of command line tools. Still weird that it didn't recognize a compile flag.

  • Like 2

Fixed.

For an unknown reason, the lto optimization decided to not align the "__beginning_of_section_ctors" symbol. I've put it in its own section with alignment.

DEBUG compilation are not optimized with lto, that's why they also worked.

  • Thanks 1
8 hours ago, Jief_Machak said:

Fixed.

For an unknown reason, the lto optimization decided to not align the "__beginning_of_section_ctors" symbol. I've put it in its own section with alignment.

DEBUG compilation are not optimized with lto, that's why they also worked.

But why it is happen only with new commit?

 

One more. One user reported very long pause

13:360 0:000 add device: PciRoot(0x0)/Pci(0x1C,0x6)/Pci(0x0,0x0)
13:360 0:000 Add key=built-in valuelen=1
13:360 0:000 ATI injection not set
27:689 14:328 stringlength = 134284
27:691 0:001 CurrentMode: Width=3840 Height=2160
27:692 0:000 SetNvramVariable (FirmwareFeaturesMask, guid, 0x6, 4):
27:692 0:000 -> writing new (Success)

14 seconds at the end of Device Properties strings.

This is X79-P3 with Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz.

https://applelife.ru/threads/clover.42089/page-1363#post-934102

8 hours ago, Slice said:

But why it is happen only with new commit?

I guess the size of it was just what it needs to need padding between "__beginning_of_section_ctors" symbol and the actual content of the ctors section.

Honestly, I'm surprised too.

 

 

8 hours ago, Slice said:

14 seconds at the end of Device Properties strings.

 

8 hours ago, Slice said:

27:689 14:328 stringlength = 134284

That's quite some injection !

 

Between "ATI injection not set" message and "stringlength =", there is quite a lot. It's in SetDevices().

I'll have a look. Most likely add some more temporary debug message to discover where exactly it happens.

1 hour ago, Jief_Machak said:

 

That's quite some injection !

 

Between "ATI injection not set" message and "stringlength =", there is quite a lot. It's in SetDevices().

I'll have a look. Most likely add some more temporary debug message to discover where exactly it happens.

He injected VideoBIOS so why the length and the time.

Hum, not easy to reproduce. I cannot inject a video bios on a VMWare because it's not a ATI or NVIDIA.

Can I do it with Qemu ?

Maybe he can try some of my compilation from here https://github.com/jief666/CloverCommits so he can tell exactly which one has the problem ?

 

I asked him to produce new log with additional DBG and see:

6:636 0:003 generate string
23:552 16:916 hex2bin
23:557 0:004 stringlength = 134284

The codes are here

  if (StringDirty) {
    EFI_PHYSICAL_ADDRESS BufferPtr = EFI_SYSTEM_TABLE_MAX_ADDRESS; //0xFE000000;
    DBG("generate string\n");
    XString8 newDeviceProperties = devprop_generate_string(device_inject_string);
    DBG("hex2bin\n");
    size_t binaryPropSize = hex2bin(newDeviceProperties, NULL, 0);
    if ( binaryPropSize > MAX_UINT32 ) {
      MsgLog("devprop_generate_string(device_inject_string) is too big");
      newDeviceProperties.setEmpty();

 

I compiled commit c11a90046 and test on real hardware #1 in signature.

Clover works faster. It was

5132 (master, commit 6ff5bab8a):

8:197  0:048  GUI ready

and now

5132 (master, commit c11a90046) 

5:727  0:048  GUI ready

 

And in the system 10.14.6 I got strange CPU behaviour. It go crazy!

Снимок экрана 2021-04-07 в 19.53.02.png

 

I am in the process to understand what is happen.

  • Like 1

Just to be sure The fix for long generation of devprop_generate_string is NOT committed. Because I wasn't sure although I can reproduce something that looks like it. So the guy from https://applelife.ru/ has to test the efi I posted here.

4 minutes ago, Slice said:

Clover works faster. It was

5132 (master, commit 6ff5bab8a):

8:197  0:048  GUI ready

and now

5132 (master, commit c11a90046) 

5:727  0:048  GUI ready

No idea why it would be faster here...

Main pause was here

0:100  0:000  CloverX64 : Image base = 0x4BCAB000
2:682  2:582  
2:682  0:000  Now is 03.04.2021,  20:46:11 (GMT)
2:682  0:000  Starting Clover revision: 5132 (master, commit 6ff5bab8a) on American Megatrends EFI

and now

0:100  0:000  CloverX64 : Image base = 0x4BCAA000
0:162  0:062  
0:162  0:000  Now is 07.04.2021,  15:29:32 (GMT)
0:162  0:000  Starting Clover revision: 5132 (master, commit c11a90046) on American Megatrends EFI

 

20 minutes ago, Slice said:

I still wait for those guy.

Yes, the pause is absent!

https://www.applelife.ru/threads/clover.42089/page-1370#post-934567

×
×
  • Create New...