List Info

Thread: nvram patch




nvram patch
country flaguser name
Sweden
2007-10-07 11:23:57
HI,

I MADE A PATCH FOR THE MACPPC NVRAM DRIVER, TO ACCESS THE
DIFFERENT  
PARTITIONS (IN PARTICULAR, THE BOOT VARIABLES). I ALREADY
DID A SEND- 
PR FOR THIS, BUT I SOON AFTER REALISED TO QUALITY OF THE
CODE WAS  
MORE SUITABLE FOR THE MAILING LIST. ALSO INCLUDED IS A TOOL
TO READ/ 
SET BOOT VARIABLES, IN SIMILAR VEIN TO THE DARWIN ONE.

WHAT'S DONE:
THE NVRAM DEVICE IS SPLIT UP ACCORDING TO ITS SEGMENTS (NEW
WORLD) OR  
BY FIXED OFFSETS (OLD WORLD).
THE SEGMENT SIGNATURE AND NAME CAN BE READ/SET BY IOCTL.
THE WRITING TO THE ACTUAL NVRAM IS DELAYED UNTIL THE DEVICE
IS  
CLOSED, TO REDUCE THE RISK OF CRASHES WITH AN INVALID
STATE.

WHAT'S MISSING:
MUTEXES WHEN THE NVRAM IS READ / WRITTEN. I'M NOT SURE HOW
THIS WORKS  
IN THE KERNEL.
POSSIBLY SOME SORT OF INTERRUPT DISABLING WHILE WRITING THE
NVRAM, TO  
AVOID IT BEING ABORTED IN THE MIDDLE. THAT MIGHT LEAVE THE
MACHINE  
UNBOOTABLE.
NOT SURE I SHOULD BE USING MALLOC/FREE FOR THE CACHING.
CHANGES TO MAKEDEV, I DIDN'T FIGURE OUT HOW IT WORKS. /DEV
SHOULD HAVE
CRW-R--R--  1 ROOT  WHEEL  33, 0 JUL 15  2006 /DEV/NVRAM0
CRW-R--R--  1 ROOT  WHEEL  33, 1 JUL 22  2006 /DEV/NVRAM1
CRW-R--R--  1 ROOT  WHEEL  33, 2 JUL 23  2006 /DEV/NVRAM2
AT THE LEAST.
LOCATION IN THE SOURCE TREE OF THE NVRAM TOOL. IT SHOULD
PROBABLY BE  
INSTALLED IN /SBIN, BUT ONLY ON MACPPC.
TESTING ON OLD WORLD MACHINES.

THE PR IN IT CURRENT STATE CAN BE READ AT
HTTP://WWW.NETBSD.ORG/CGI- 
BIN/QUERY-PR-SINGLE.PL?NUMBER=37023, BUT IT CONTAINS NO MORE
INFO.

ANY HELP/COMMENTS ARE APPRECIATED.
-- 
PELLE JOHANSSON
?¼?¼
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )