주석 업데이트
head_64.S
boot_from_prom 에서 0x4000 두번 한 이유 ( 0x8000 하면 부호비트가 문제 )
- 16비트 이미디어트 값은 비트 확장을 하는데 8000의 경우 부호비트 1로 채워져서 문제발생
abi에 따라 TOC의 첫주소 + 0x8000하면 TOC base 주소가 계산됨 ( 64k의 TOC 전영역 액세스 가능
할것
시뮬레이터 돌려보면서 reloc_offset 동작 확인
알아낼것
objdump해서 메모리맵 볼것, 첫 소스?, cell 커널 컴파일?
head_64.S
boot_from_prom 에서 0x4000 두번 한 이유 ( 0x8000 하면 부호비트가 문제 )
- 16비트 이미디어트 값은 비트 확장을 하는데 8000의 경우 부호비트 1로 채워져서 문제발생
abi에 따라 TOC의 첫주소 + 0x8000하면 TOC base 주소가 계산됨 ( 64k의 TOC 전영역 액세스 가능
할것
시뮬레이터 돌려보면서 reloc_offset 동작 확인
알아낼것
objdump해서 메모리맵 볼것, 첫 소스?, cell 커널 컴파일?
댓글 6
-
성진모
2007.07.03 07:22
수고했어~~ ㅋ -
백창우
2007.07.03 20:59
abi에 따라 TOC의 첫주소 + 0x8000하면 TOC base가 구해지나요?
저는 vmlinux.lds.S에 아래와 같은 내용이 있어서 got 크기가 0x8000으로 알고 있었는데 어쩌면 잘못 알고 있었을수도 있겠군요.
.got : {
__toc_start = .;
*(.got)
*(.toc)
}
abi에 명시되어 있는것 좀 알려주시겠어요?
-
김강년
2007.07.03 21:13
The TOC section is accessed via the dedicated TOC pointer register, r2.
Accesses are normally made using the register indirect with immediate
index mode supported by the 64-bit PowerPC processor, which limits a
single TOC section to 65,536 bytes, enough for 8,192 GOT entries.
The value of the TOC pointer register is called the TOC base. The TOC
base is typically the first address in the TOC plus 0x8000, thus
permitting a full 64 Kbyte TOC.
저는 GOT의 크기가 64K이고 8192개의 엔트리가 있다는 얘기로 이해 했습니다. 전 아님 말고~ 주의기 때문에 잘못됬으면 꼭 알려주세요 :) -
백창우
2007.07.03 23:00
TOC의 크기가 64K인것 같고 GOT는 TOC에 포함되는것 같네요.
그리고 0x8000을 base로 해주는건 TOC 접근을 16Bit signed offset을 사용하여 access하기 때문에 상하 각각 32K로 접근할수 있기 때문인것 같습니다.
이렇다면 16Bit signed offset은 signed bit을 포함하지 않고 있어야 할것 같은데, 이건 좀 확실히 확인해봐야 할것 같습니다.
target=_blank>http://www.linux-foundation.org/spec/ELF/ppc64/PPC-elf64abi-1.9.html#TOC
-
김강년
2007.07.05 01:47
16비트 짜리면 signed bit비트 포함해도 되지 않나요? -
백창우
2007.07.05 17:52
그러네요. 1bit를 빼먹었네요. 이제 좀 말이되네요.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [공지] 커널 스터디 관련 Q&A 게시판 입니다. [5] | woos | 2016.04.09 | 2199 |
85 | 아키텍처 [11] | 배병일 | 2010.04.05 | 5967 |
84 | 음.. 미스터 P의 스파이짓.. [2] | 안병욱 | 2010.04.05 | 5751 |
83 | 타 그룹은 스터디 장소가 정해지는듯 한데,,, 우리는??? [5] | 김종혁 | 2010.04.05 | 5555 |
82 | x86 과 네할렘에 대한 위키디피아 페이지. [1] | 배병일 | 2010.04.05 | 5338 |
81 | 알고보니깐.. X86-A조였네요.. ㅡ,.ㅡ [5] | 안병욱 | 2010.04.05 | 5516 |
80 | 일단 첫 스타트 교재는... [7] | 배병일 | 2010.04.05 | 4666 |
79 | 최신 프로세스 아키텍처를 대상으로 한다라면... [2] | 배병일 | 2010.04.04 | 5597 |
78 | 안녕하세요^^ [1] | 김이현 | 2010.04.04 | 4249 |
77 | pride.. ㅋㅋㅋ 등수노리에서는 뒤처지네요.. ㅡ,.ㅡ[냉무] [1] | 안병욱 | 2010.04.04 | 4018 |
76 | 안녕하세요 | 박준규 | 2010.04.04 | 4385 |
75 | 노땅1.... | 김종혁 | 2010.04.03 | 4601 |
74 | 2010. 4. 3 - 1차 모임 회비 지출 내역. [1] | 배병일 | 2010.04.03 | 4304 |
73 | 2등이네요 | 김민석 | 2010.04.03 | 3828 |
72 | 스타트. | 이종욱 | 2010.04.03 | 4018 |
71 | 얼굴 못본지 거의 한달이 넘어가는군요.. [1] | 서두원 | 2007.08.19 | 10187 |
70 | PPC64 의 경우 궁금한 점 ??? [1] | 장석원 | 2007.07.14 | 10170 |
69 | 한동안 못가는 이유 [5] | 김종화 | 2007.07.11 | 9683 |
68 | memory map in powerpc kernel [1] | 김강년 | 2007.07.08 | 11267 |
67 | 오늘 스터디 못감 | 김재호 | 2007.07.07 | 9574 |
» | 0630 [6] | 김강년 | 2007.07.01 | 10378 |
.