프로그래밍 QnA + 설치 및 활용 QnA

intovortex의 이미지

do_page_fault에서 signal sending..

안녕하세요, 리눅스 뉴비 인사드립니당..

다름이 아니오라 페이지 폴트에서 오는 SIGSEGV를 user space로
SIGUSR1, SIGUSR2를 통해 sending하려는 목적으로 커널을 수정하였습니다.

그런데 do_page_fault에서 force_sig_info_fault나 send_sig_info 등의 function을 쓰면 커널패닉이 나더군요..
아무래도 커널 로딩시부터 signal을 날려대니 error가 나는 것 같았습니다만..


어떻게하면 page fault가 발생했을 때, user space로 전이되도록 제가 SIGUSR1, SIGUSR2를 사용하여
해당 부분에서 signal을 sending할 수 있을까요??

ep6tri의 이미지

MYSQL 쿼리 질문 좀 부탁드립니다.

MYSQL 쿼리에 관한 기초적인 질문 좀 드리겠습니다.
테이블이 이렇게 있다고 해요.

pk | a | b
1 1 1
1 1 2
1 2 3
...

저는 여기서 a, b만의 값의 목록을 알고 있다고 해요. (1, 1), (3, 4), (4, 6) ... 이렇게 말이죠. a 필드와 b 필드 각각은 유일한 값은 아니지만 (a, b) 두 필드를 이렇게 조합한 경우는 테이블에서 단 1개의 레코드만 검색될 수 있다고 해요.

그럼 여기서 제가 (a, b) 두 필드의 리스트를 가지고 어떻게 그 레코드의 pk(primary key)값을 알아낼 수 있을까요? SELECT pk FROM table WHERE a='a1' and b='a2' 정도는 저도 압니다... 이렇게 여러 번 호출하면 되긴 하지만, SELECT 쿼리의 횟수를 가급적 줄이고 싶습니다. 어떻게 할 수 있을까요?

kwonsu의 이미지

Doxygen macro 처리 문의드립니다.

안녕하세요~

doxygen에서 macro, 인자값이 있는 macro인데 이걸 문서로 표시하려고 수많은 시도를 했는데 하다 안되서 문의드립니다.

#define D( fmt,... )  printf( "line:[%d] " fmt, __LINE__, ##__VA_ARGS__ )

이런 macro를 문서에 표시하려고 했습니다.

doxygen 버전은 1.8.4 이며
doxygen -> expert -> Preprocessor로 이동하여

ENABLE_PREPROCESSING = yes
MACRO_EXPANSION = yes
EXPAND_ONLY_PREDEF = yes
PREDEFINED = D(x)=
또는
PREDEFINED = D()
PREDEFINED = D(x)=x

animekorea의 이미지

제컴터 에서 우분투 나 페도라 가 설치 가능한가요?

새컴터 에서 우분투 나 페도라를 설치할려고 하는데
──────────────────────────────
CPU:Intel Core 2 Duo E6300 (6300 @ 1.86GHz,64Bit)
Mainboard:ELITEGROUP COMPUTER SYSTEM CO.,LTD. P965T-A
RAM:SEC(SAMSUNG) PC2-4300 (266 MHz) DDR2 (3.00GB)
GPU:nVIDIA Geforce 9500 GT (1520MB of VRAM)
HDD:Seagate ST3500413AS ATA Device(465GB)
Monitor:Topsync OR2101TV (1680*1050 @ 60Hz 16:10 Display)
Sound Card:Realtek HDA
──────────────────────────────
이 사양으로 설치 가 가능한지 알려주시면 감사하겠습니다.
예전 컴터 에서는
──────────────────────────────

jyw123의 이미지

i2c adapter에 대하여 질문 드립니다.

struct i2c_adapter {
struct module *owner;
unsigned int class; /* classes to allow probing for */
const struct i2c_algorithm *algo; /* the algorithm to access the bus */
void *algo_data;

/* data fields that are valid for all devices */
struct rt_mutex bus_lock;

int timeout; /* in jiffies */
int retries;
struct device dev; /* the adapter device */

int nr;
char name[48];
struct completion dev_released;

jih1010의 이미지

centOS 를 usb에 담았습니다. kickstart가 안도네요..

ultraiso에서 이미지를 8G usb에 담았습니다. 부팅이 가능하게요..

kickstart.cfg 를 usb 루트에 담았습니다

.... 그 다음엔 어떻게 해야하나요?...

인터넷을 뒤져보니 syslinux.cfg 를 건들면 된다고 하시는데.. sysliunx.cfg 의 설정은.. 하시는 분들마다. 다 달라요...ㅠ.ㅠ

어떻게 적용을 해야 하는지 모르겠습니다..

cocolv의 이미지

if(1 == htonl(1))의 의미를 모르겠습니다.

float htonf(float val)
{
	float fv;
	int nv;
 
 
	// 바로 이부분
	if(1 == htonl(1)) {
		return val;
	}
	// 여기서 끝
 
 
 
 
	memcpy(&nv,&val,4);
	nv = htonl(nv);
	memcpy(&fv,&nv,4);
 
	return fv;
}

소스가 저렇게 되어있는데 시스템이 빅엔디안인지 체크해보는 부분인가요?

wataka의 이미지

FPGA보드로 드라이버 공부를 할려고합니다.

노트북에 vmware로 돌리는 리눅스에

리눅스 -(시리얼)- FPGA보드 -led, switch

이렇게 연결해서 작성한 드라이버를 사용하는 프로그램으로 led나 lcd를 제어하고

온보드 스위치나 버튼을 조작하면 프로그램에서 카운터를 올라가도록

아주 간단한거부터 시작해볼 생각입니다.

FPGA보드는 베릴로그로 합성해서 사용할껀대.

20만원짜리 레지스터네요 ㅎㅎ...

이거 다음에 해볼 또는 좋은 방향이 어떤게 있을까요?

wizard1483의 이미지

container_of에서 포인터의 값 문제.....

안녕하세요. 제가 지금 ldd3판을 보면서 공부 중 입니다.

궁금한 것이 아래의 open 함수입니다. container_of에서 첫 인자로 inode->i_cdev를 넘겨주고

구조체를 scull_dev를 넘겨줍니다. 그리고 위치를 cdev를 넘겨줍니다.

container_of 매크로의 활용은 이해를 했습니다.

즉, scull_dev구조체와 cdev 멤버와 비교해서 offset값을 구해서 inode->i_cdev - offset을 해서

구조체 시작 주소를 구하는 것으로 이해를 했습니다.

문제는~! inode랑 scull_dev 구조체는 서로가 다릅니다. container_of 연산이 끝나면

원래 원하던 scull_dev구조체의 시작 주소가 아니고 inode의 주소 어딘가로 가게 되는게 아닌가요?

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기