선춘령의 구체적인 위치는 알 수 없으나 9성의 범위를 함경북도 길주(吉州) 일대까지로 보는 견해가 우세하다.
1107년(예종 2) 12월 14일(을미일)에 고려는 윤관(尹瓘)을 중심으로 17만 대군을 동원하여 동북 갈라전(曷懶甸) 지역으로 출정하였고 요충지에 성을 쌓기 시작하였다. 고려는 여진 촌락들을 간접 지배하는 방식에서 벗어나 거점마다 성곽을 축조하여 영토를 확보하고 남쪽 지역의 백성들을 이주시켜 신개척지를 직접 지배하고자 하였다.
1108년(예종 3) 1월경에 공험진(公嶮鎭)을 축성한 것으로 추정되고, 2월 13일(갑오일)에는 공험진 방어사(防禦使)를 두었다. 이어 27일(무신일)에 공험진 지역에 고려정계비(高麗定界碑)를 세워 경계로 삼았다.
공험진은 9성 가운데 경계가 되는 비가 세워진 곳이어서 일찍부터 그 위치에 관심이 많았다. 조선 초기의 세종(世宗)은 김종서(金宗瑞)로 하여금 공험진의 위치와 선춘점(先春岾)에 윤관이 세웠다는 비를 조사하게 하였다.
공험진의 위치나 9성의 범위에 대해서는 함흥평야설, 길주설, 두만강 이북설 등 여러 학설이 분분하다. 지금까지도 여러 학설이 논란이 되고 있는 이유는 관련 사료가 명확하지 않고 남북 분단으로 현지 성곽에 대한 고고학적 발굴이 어렵기 때문이다.
『고려사(高麗史)』나 『고려사절요(高麗史節要)』의 본문 기록을 살펴보면, 윤관이 비를 세워 경계로 삼은 지역은 공험진으로 선춘령(先春嶺)에 관한 별도의 언급은 없다. 다만, 『고려사』 지리지의 서문이나 동계 연혁 서술 부분, 공험진 세주 등에 선춘령 기록이 있고 동북 경계로 삼았다는 내용이 서술되어 있다. 이는 선춘령에 대한 조선 전기의 지리 인식이 투영된 결과라 여겨진다. 조선 전기에는 윤관이 비를 세운 지역이 공험진의 선춘령이었고, 선춘령은 두만강 이북 700리에 위치하였다는 지리 인식이 있었다.
『세종실록지리지(世宗實錄地理志)』에는 경원도호부에서 북쪽으로 700리 지점에 공험진이 위치하고 동북쪽으로 700여리 지점에 선춘현(先春峴)이 위치한다고 기록되어 있다. 또한 공험진과 선춘현까지의 구체적인 노정이 기록되어 있다. 경계로 삼은 비석에서 ‘고려지경(高麗之境)’이라는 글자를 판독하였다는 기록도 있다.
『고려사』나 『고려사절요』 본문에는 선춘령에 관한 언급이 없다. 조선 전기에 이르러 윤관이 비를 세운 지역이 공험진의 선춘령으로 구체화 되었고, 두만강 이북 700리에 위치하였다는 인식이 일반화되었다.
조선 전기의 기록보다 고려시대 당시의 기록을 주목하면, 9성의 북단 지역은 길주였다. 1144년(인종 22)에 작성된 「 허재묘지명(許載墓誌銘)」 에는 9성 가운데 길주가 오랑캐의 변경과 가장 가까운 지역이었다고 기록되어 있다.
「영주청벽기(英州廳壁記)」에는 고려가 새로 개척한 지역이 장주(長州), 정주(定州)에서 사방 300리 지역이었다고 기록되어 있다. 또한 『동인지문사륙(東人之文四六)』 세주에 9성 지역이 7일정(日程) 거리였다고 서술되어 있다. 이러한 기록들을 종합하여 보면 9성의 북단을 길주 지역으로 보는 견해가 유력하다.