New board-id of Mac with Retina 5K display found

I found a new board-id (Mac-65CE76090165799A) in AppleGraphicsDevicePolicy.kext/Context/Info.plist (Beta OS X 10.10.3) of a yet to be released new Mac with a Retina 5K display, but I have no idea what kind of Mac this would be. Perhaps one with a new Broadwell processor? Again. I have no idea. Really.

Edit: It uses the same Config2 and EDID data of the iMac’s with board-id Mac-42FD25EABCABB274 and Mac-FA842E06C61E91C5 (both with Retina 5K display) so it looks like another iMac.

Clang update for macosxbootloader

I blogged about the new clang branch for the macosxbootloader three weeks ago and a couple days later I located a problem in the makefiles (missing -target argument) and Andy came up with a quick and dirty workaround. Now we can compile 32-bit targets and things are looking promising, but we need you – Mac Pro 1/2 folks – to confirm that this workaround, and our other changes, are working.

By the way. You don’t have to patch/compile clang yourself. You can, of course, but a patched version of clang is now also available from the tools directory. Called from the new makefiles so all you really have to do is enter make (and press enter) in a terminal window. That should do the trick i.e. compile boot.efi for you. After that you copy/bless boot.efi like before, but you should first use boot.efi on a bootable USB flash drive!

Let me know how it goes… and thanks for testing!

Edit: I updated the makefiles, twice already, to fix some issues but if there is anything else that is failing for you then please don’t hesitate and let me know.

I also fixed all clang analyser warnings in my local tree, for a next update, but I am still waiting for a confirmation – that the current clang branch works. Or not of course.

Loving your work…

Tim Cook tweeted to honour what would be the 60th birthday of late Apple co-founder Steve Jobs.

Remembering Steve, who would have turned 60 today. “The only way to do great work is to love what you do.” pic.twitter.com/0YD0gZ7jvm
— Tim Cook (@tim_cook) February 24, 2015

A nice and understandable gesture, from a friend, but I believe that the used quote from Steve Jobs is not a fact of life, or has serious implications for other people. I mean. Think about it. Many people love what they do, me among others, but they still suck at what they do. At least in the view of other people. It’s all about perspective.

Let me start with holidays. Tell me something. What is so great about people having to cancel their holiday, because your employer/some boss/whoever wants you to work on/finish something, instead of going on a well deserved holiday? Some people were even told to go look elsewhere, if they are not “a member of the team“. Luckily that person wasn’t me. Phew.

I guess that this is the other side of doing “great work” but that is also when people really hate their work. And their employer. Whoever that person or company is. Then you as a boss/manager are certainly not doing “a great job“. You may love your job/products, but I personally also happen to love my wife and family.

Sure. Many companies do this to get bugs fixed before products get released, so I know how it feels to have to work, to do great work, but I would much rather have been on a holiday with my family. That to me would have been really great, but I happen to work for one of the companies that do great work, from time to time, and then you simply (have to) accept this. Either that or look for a new job – the unspoken rule of being part of corporate work.

Another example. My mother is a doctor (works in a hospital) and she totally loves her work, but there have been times that even my mom came home stressed up about something she wouldn’t want to talk about, when a child had died. That was when mom was disappointed. Frustrated, and hated her work. Well. For some time. Still. She is very good at what she does, and people are grateful when she cancels a holiday, or returns early from one, but that is just one of her responsibilities as a doctor. Not because she loves her work, or like to cancel our holiday, but because she wants to help people in need of her expertise.

Nothing new to me. I also grew up with a military dad who yelled stuff like: “rise and shine“, “the only easy day was yesterday“, “there is no IF” and then he had to leave, again and again, too many times for work. Or the times that we had to lie about what dad did or where he was. Boy did that suck at primary school. So many boys and girls with great stories about their dad and their work. However, teachers always skipped me. Like I wasn’t proud (I was) but they were simply told not to ask questions about dad. Speaking about sacrifices. I just don’t want my son to go through this. Not ever. Sorry dad.

And I personally would have loved to spent more time/holidays with my father, but that was impossible due to the nature of his work. And working for Apple appears to be even worse. Secrecy about products, product releases and what not. So yeah. I have mixed feelings about people loving their work, and the products that they work on, because there are always people, mostly wives and children, that have to pay the price for the long hours, for the product that they are working on. Let’s remember that, and honour the wives and children that have to miss a husband/father… just because the next (i)phone or tablet/computer/watch must be great and delivered in time…

In the end. I do great work just because I can. Not because I love my work. The reality is that there are times that even I hate my work. Please. Let’s be realistic. What I love is the pay check, because that keeps me and my family afloat. Not the public figures who walk away with the glory, who are getting all the credit, while other (young) people/families (me/us) who pay the price… when the boss/manager is sitting at the beach, because I tell you that will always suck. Big time!

New Clang branch for macosxbootloader

A couple of days ago I ask for Build instructions for macosxbootloader and today I added a new branch called clang so that people can start experimenting with my latest commits.

You can clone the repository by clicking on Clone in Desktop and follow the instructions. Make sure to select the clang branch or it will fail.

After that you simply enter

make [enter]

in a terminal window and hope for the best. Should compile fine (still 64-bit only).

Please note that this would not have been possible without the help of Andy due to my main SSD hardware failure. Thanks man! Also. My initial commit may not even work for you, on your Mac Pro. In fact I am pretty sure that it doesn’t, because only 64-bit compiles, but my time was up so… later folks!

XCPM support for self compiled XNU kernel

I want to add XCPM (XNU CPU Power Management support) to self compiled version of the XNU kernels and need people with a properly working development setup. You should start by downloading the following tarballs:

dtrace-147

AvailabilityVersions-9

xnu-2782.1.97

Use Google for further instructions. Feel free to add a link to clear working instructions when you get the job done.

Update

I decided to setup a Github repository for this new project. To make things a tad easier for you. And as a result, you can now download setupXNU.sh and run it. That is all you need to do for now ;)

Build instructions for macosxbootloader

I have a simple request, but also one that we really need.

Can someone please write up clear instructions how to download, build and install all required tools – like Xcode, cctools and dependencies – for the soon to be released Xcode build versions of macosxbootloader? Note that if you can build cctool… you are on the right track ;)

A next step would be to write a script that takes care of everything.

Thank you so much!!!

OperationRegion GNVS

Hm. This is interesting. The address of the OperationRegion (GNVS, SystemMemory, 0xDC227C18, 0xNNNN) in my vanilla factory DSDT changes when I boot from a USB memory stick. It is normally 0xDC227C18, but if I boot from a USB memory stick then it is 0xDC226C18. Odd. Isn’t it.

The reason for this 4 KB difference is unknown to me. Do you know why? If yes, then please let me know. Thanks!

Edit: I re-wrote a feature that I added to RevoBoot some time ago, which I lost with the SSD failure, but the new one should be fine. It is a bit different, but the new source code is already committed from dads computer. This way other developers – think Chameleon and Chimera devs – can use it for their boot loader. With a few changes of course ;)